我正在完成“以艰难的方式学习C”一书中的练习.练习7要求读者找到使无符号长度范围超出的值.
Changelongtounsigned longand try to find the number that makes it too big.
所以我的方法是首先在我的机器上获得unsigned long的大小:
printf("SIZEOF ULONG: %lu", sizeof(unsigned long));
结果打印8.因此,假设我的机器上的无符号长整数将占用64位,我在
64位(字,双字,长字,长字,四字,四字,qword,int64)
>无符号:从0到18,446,744,073,709,551,615
我期望声明一个带有上述值的无符号长整数将在没有警告的情况下编译,直到我将值递增1.结果是不同的.编译以下程序会导致警告.