刚学习C语言,有点不明白

来源:百度知道 编辑:UC知道 时间:2024/06/02 21:34:23
输出形式:十进制整数
举例:int i=12345678;printf(“i=%d”,i);
输出结果:i=24910

这个结果是怎么出来的呢?看不明白,请指点谢谢!

超出int整形数的范围,数据溢出了。

C中int的长度在不同系统下是不一样的,16位CPU下int的长度是16bit,32位CPU下int的长度是32bit,64位CPU下int的长度是64bit。

16位环境下(TC), int 是 2字节的,那么就是 16位,
除去一个符号位,
可以表示数据的是 15位;
int 是直接表示数据内容的,
那么就是 -2^15 ~ 2^15-1 ,也就是 -32768到32767

因为int的最大值是35535,你这样赋值就会溢出,显示的是溢出后的值

溢出。认真研究一下数据类型吧