我正在学习 C,并且在 Kernighan&Ritchie 的书中读到整数int
包含在特定集合中 [-32767;32767]。我试图通过编写以下程序来验证这个断言,该程序将变量计数从 1 增加到极限,然后再变为负数。
#include <stdio.h>
int main(void){
int count = 1;
while(count > 0){
count++;
printf("%d\n", count);
}
return 0;
}
令人惊讶的是,我得到了这个输出:
1
......
2147483640
2147483641
2147483642
2147483643
2147483644
2147483645
2147483646
2147483647 -> This is a lot more than 32767?!
-2147483648
我不明白,为什么我得到这个输出?我怀疑 M. Ritchie 犯了一个错误;)