如果整数超出了相应类型的取值范围会怎样?
(printf()函数使用%u说明显示unsigned int类型的值)。
#include<stdio.h>
int main(void) {
int i = 2147483647;
unsigned int j = 4294967295;
printf("%d %d %d\n", i, i + 1, i + 2);
printf("%u %u %u\n", j, j + 1, j + 2);
}
输出结果是:
溢出行为是未定义的行为,C标准并未定义有符号类型的溢出规则。