这是C程序:
int main(void)
{
unsigned long long int number = 4294967295;
printf("unsigned long long int size is: %d byte \n", sizeof(unsigned long long int));
printf("this value is: %d\n", number);
return 0;
}
这是输出:
unsigned long long int size is: 8 byte
this value is: -1
为什么输出是 -1 而不是 4294967295
答案 0 :(得分:4)
在 printf 语句中,您编写了 "%d" 用于 int 而不是 "%llu" 用于 < strong>unsigned long long int
所以为了得到正确的输出,你的语句应该是
printf("this value is: %llu\n", number);
有关更多信息,请查看以下链接:
<块引用>