初学者代码如下#include
int main(){ short i; i = 50000; printf("%d", i);//为什么输出的值-15536? return 0;}
因为50000超过了short的取值范围,溢出后变为负数了。short是16位有符号,最大值是32767。50000的话,最高位是1,所以变成负数了