社区
C语言
帖子详情
请大家帮我看看这个数据输入程序
blossom007cn
2004-08-11 07:09:12
我写了这样一个简单的C程序,请教如何判断数据超值输入?
#include <stdio.h>
int main()
{
short int a;
scanf("%d",&a);
/*a 的最大值是32767,但如果我输入大于32767的数则会超值,如何检查这个错误*/
return 0;
}
...全文
98
8
打赏
收藏
请大家帮我看看这个数据输入程序
我写了这样一个简单的C程序,请教如何判断数据超值输入? #include int main() { short int a; scanf("%d",&a); /*a 的最大值是32767,但如果我输入大于32767的数则会超值,如何检查这个错误*/ return 0; }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
12l
2004-08-14
打赏
举报
回复
应该是:
while (a<-32768 || a>32767) {
printf("The value range is -32768 to 32767\n");
scanf("%d",&a);
}
mainvhaide
2004-08-13
打赏
举报
回复
if (a<0 &&a>=-32768)
exit(puts("Error!"));
blossom007cn
2004-08-12
打赏
举报
回复
如果两个数输入均正确,但运算后溢出怎么办?能否从汇编角度查看寄存器?
blossom007cn
2004-08-12
打赏
举报
回复
如果在text控件中输入数据则会有数据检查请教这是如何实现的?
tangfulin
2004-08-12
打赏
举报
回复
楼上说得对了,赞同中
FlyindanceDDr
2004-08-12
打赏
举报
回复
运算溢出可以直接判断的:
例如:
假设a,b是正数(int类型)
a+b=c //若溢出则c<0
其它情况都有类似的方法可以判断,不用查看寄存器的
Kusk
2004-08-11
打赏
举报
回复
无法直接检测,因为a无法得之这一信息。一般的确需要判断的话,作法是定义一个更宽型的数据,判断确认没有溢出之后再做类型转换。
long ca;
short int a;
scanf("%d", &ca);
if (ca < 32768 && ca >= -32767)
a = (short int)ca;
else
... // show error message
waini12
2004-08-11
打赏
举报
回复
学习中
核心Java
程序
设计技术
在这个准备过程中,即使作为拥有大量
程序
设计经验的我来说,我也发现了我对一些细节认识的模糊,有的甚至从来没有接触过。事实上,这些细节对于我们提高
程序
质量是大有裨益的。作为基础
程序
设计技术的经典之作,本书...
数据
结构实践课程-表
有少数同学学
数据
结构就是拿个书看,偶尔画个图。坦率地讲,这种方法就不对。
数据
结构的内容是具体且确定的,一定要写代码才能真正好学好。还有部分同学写一点
数据
结构的代码觉得实现中用不上,失去了进一部学习的...
数据
结构核心原理与算法应用
从编程的角度来看,
数据
结构与算法几乎是最朴素的基础知识了,这一关,是每一个立志当好
程序
员的必经之路。 为此,樊老师结合多年的工作经验,经过长时间的准备,精心打造了《
数据
结构基本原理与算法应用》课程,本...
Python
数据
分析与挖掘
从海量
数据
中获得别人看不见的信息,创业者可以通过
数据
分析来优化产品,营销人员可以通过
数据
分析改进营销策略,产品经理可以通过
数据
分析洞察用户习惯,金融从业者可以通过
数据
分析规避投资风险,
程序
员可以通过...
Python
数据
挖掘简易入门
从海量
数据
中获得别人看不见的信息,创业者可以通过
数据
分析来优化产品,营销人员可以通过
数据
分析改进营销策略,产品经理可以通过
数据
分析洞察用户习惯,金融从业者可以通过
数据
分析规避投资风险,
程序
员可以通过...
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章