私はgccコンパイラを介してこのコードを実行しようとしていました:
#include <stdio.h>
int main()
{
unsigned long long int x;
x = 75000 * 75000;
printf ("%llu\n", x);
return 0;
}
しかし、それは間違った出力を与えました。
次に、これを試しました。
#include <stdio.h>
int main()
{
unsigned long long int x;
x = (unsigned long long)75000 * (unsigned long long)75000;
printf ("%llu\n", x);
return 0;
}
そしてそれは正しい出力を与えました!
なんでそうなの?