C语言整数溢出?

copian 2012-08-12 12:08:27
C语言整数类型溢出:
一,无符号整数:如果溢出,gcc会提示出错!
二,有符号整数:
(1)有符号正整数:如果溢出,正数变成负数。
(2)有符号负整数:如果溢出,gcc会提示出错!

对否?
...全文
408 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
caiyur 2012-08-13
  • 打赏
  • 举报
回复
有符号正整数溢出,gcc检查不出错误!
怎样在程序中避免这类错误?
caiyur 2012-08-13
  • 打赏
  • 举报
回复
有符号正整数溢出,gcc检查不出来!
怎样可以在程序中避免这类错误?
路口转弯 2012-08-12
  • 打赏
  • 举报
回复
只会警告错误,
淼哥 2012-08-12
  • 打赏
  • 举报
回复
整数溢出只会提示警告,然后截断
copian 2012-08-12
  • 打赏
  • 举报
回复
有符号负整数溢出:


#include <stdio.h>

int main()
{
short int i=-32769;
printf("%.d\n",i);
}





z@z:~$ gcc a.c
a.c: In function ‘main’:
a.c:5: warning: overflow in implicit constant conversion
z@z:~$
startservice 2012-08-12
  • 打赏
  • 举报
回复
会报警告:truncation of constant value
copian 2012-08-12
  • 打赏
  • 举报
回复
有符号正整数溢出:



#include <stdio.h>

int main()
{
short int i=32768;
printf("%.d\n",i); //-32768,溢出,正数变负数!
}

漫步者、 2012-08-12
  • 打赏
  • 举报
回复
你直接看的数据类型的取值范围就行了,溢出的话会在正负数之间跳转,不要依赖编译器去。
copian 2012-08-12
  • 打赏
  • 举报
回复
楼上:
什么意思?
for_onxx 2012-08-12
  • 打赏
  • 举报
回复
只会数值错,不会内存错,

由于数值错导致内存错除外

69,379

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧