#include<stdio.h>
int main()
{
printf("%d\n", sizeof(2147483648));
printf("%d" , sizeof(2147483647+1));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:
8
4
Run Code Online (Sandbox Code Playgroud)
我知道这sizeof(2147483648)是8个字节,因为它不能适合4个字节并被提升为long long int.但我不明白发生了什么事情sizeof(2147483647+1)
我发现了类似的问题,但没有讨论第二种情况.