2 つの数値を乗算する次のコードを書きましたが、結果が正しくないことがわかります。データ型が値を正しく保持していないと思います。しかし、その印刷の答えは正しくありません。
#include<stdio.h>
main()
{
long int val1,val2;
val1=val2=1235;
char c = 'y';
switch(c)
{
case 'y' : printf("%20d",val1*val2);
break;
default: printf("invalid");
break;
}
return 0;
}
OUTPUT :
17897 //これは正しい答えではありません
//実際には 1525225 のはずです