【发布时间】:2012-10-07 22:21:18
【问题描述】:
在 C 或 C++ 中有没有办法检查用户提供的数字是否超出整数类型的范围?
例如,假设我们使用 16 位有符号整数,范围为 -32768 到 32767。
如果用户在程序中输入55555,它会被包装成一个负数,这样如果你使用一个可以接受任何数字的函数,结果就会出错。
在C或C++中有没有办法判断用户提供的数字是否在整数类型的范围内?
更新:我在一个简单的减法程序中使用这些数字,该程序接受两个数字并从第一个数字中减去第二个数字。
【问题讨论】:
-
您使用什么编程语言? C++ 和 C 不一样,尤其是在读取输入方面。
-
@aam1r - 我不认为这实际上是重复的。该链接是关于在数学运算期间检测整数溢出,Matthew 的问题是关于从用户获取值时的整数溢出。
-
@Mike:对不起,我误读了这个问题。感谢您指出这一点!