我试图通过 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;
}
它给出了正确的输出!
为什么会这样?