首页 > 代码库 > 整型变量
整型变量
整数溢出
如果整数太大,超出了整数类型的范围会怎么样?下面分别将有符号类型和无符号类型整数设置为最大允许值加略大一些的值,看看结果是什么(printf()函数使用%u说明符显示unsigned int类型的值)
1 #include <stdio.h> 2 int main() 3 { 4 int i = 2147483647; 5 unsigned int j = 4294967295; 6 7 printf("%d %d %d \n", i, i+1, i+2); 8 printf("%u %u %u \n", j, j+1, j+2); 9 while(1);10 return 0;11 }
解释:无符号整型j像一个汽车里程指示表,当达到最大值时,她将溢出到起始点。整数i也是同样原理。它们的主要区别是unsigned int变量j的起点是0,而int类型的起始点是-2147483648.注意到当i超过(溢出)它的最大值时,系统并没有给出提示,所以编程时您必须自己处理这个问题;
整型变量
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。