在C或C++中有没有办法检查用户提供的数字是否超出整数类型的范围?
例如,假设我们使用范围为 -32768 到 32767 的 16 位有符号整数。
如果用户在程序中输入 55555,它会被包装成一个负数,这样如果您使用可以接受任何数字的函数,结果将是错误的。
C或C++有没有办法判断用户提供的数字是否在整型范围内?
更新:我在一个简单的减法程序中使用数字,它接受两个数字并从第一个数字中减去第二个数字。
最佳答案
如果您使用类似strtol
的东西,它会在发生溢出时将errno
设置为ERANGE
关于c++ - 检测输入中的整数溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12938053/