数据溢出处理方法(C语言)
C语言数据溢出的处理
- 数据溢出判断与处理的方法
- 问题描述
- 解答方案
数据溢出判断与处理的方法
问题描述
在诸如LeetCode这些刷题网站中刷题时,题目中常常会出现一个对数据范围的限制要求,比如限制数据范围在(-2^31 ~ 2^31-1)这种,下面的代码是本人处理这种情况的一般方法,如果感觉方法不错,就留下你的赞吧!
解答方案
//数据溢出判断与处理样例
#include"stdio.h"
#include"math.h"
#include"stdlib.h"
void main()
{unsigned int a;int flag_limit=0,flag_c=0;scanf("%u",&a);if(a<0){flag_c=1;a=abs(a);a=(unsigned)a;}else{if(flag_c==0){if(a>pow(2,31)-1){printf("上限溢出 自动化为:2147483647\n");exit(1);}}else{if(a>pow(2,31)){printf("下限溢出 自动化为:-2147483648\n");exit(1);}}}printf("%u\n",a);
}
代码部分较为简单,因此不做过多解释,如有疑问欢迎评论区留言~
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
