为什么会有这样的输出?

时间:2021-07-12 03:54:24

标签: c

这是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

1 个答案:

答案 0 :(得分:4)

在 printf 语句中,您编写了 "%d" 用于 int 而不是 "%llu" 用于 < strong>unsigned long long int

所以为了得到正确的输出,你的语句应该是

printf("this value is: %llu\n", number);

有关更多信息,请查看以下链接:

<块引用>

https://www.geeksforgeeks.org/data-types-in-c/

相关问题