写一个c++程序计算两个整数和,考虑溢出,溢出时输出“error”
时间: 2024-10-12 20:18:01 浏览: 0
在C++中,我们可以使用`std::numeric_limits`来获取整数类型的最大值和比较运算的结果,然后判断是否溢出。下面是一个简单的程序示例,它计算两个整数的和,并在溢出时输出"error":
```cpp
#include <iostream>
#include <limits>
int main() {
// 定义两个整数变量
int num1 = 9223372036854775807; // 最大int值
int num2 = 1;
try {
// 检查是否溢出
if (num1 + num2 > std::numeric_limits<int>::max()) {
throw std::overflow_error("Integer overflow occurred.");
} else {
// 正常相加并打印结果
int sum = num1 + num2;
std::cout << "The sum of " << num1 << " and " << num2 << " is: " << sum << std::endl;
}
} catch (const std::overflow_error& e) {
// 输出错误信息
std::cerr << "error: " << e.what() << std::endl;
}
return 0;
}
```
在这个例子中,我们将最大整数`num1`加上较小的整数`num2`。由于`num1`已经接近上限,加上`num2`会触发溢出异常,程序会捕获这个异常并在catch块中打印"error"。