问我如何确保整数算术不会溢出?
答通常的做法是在执行操作之前,将操作数与头文件<limits.h>中的限制进行测试。例如,这里有一个“小心”的加法函数
int chkadd(int a, int b) { if(INT_MAX - b < a) { fputs("int overflow\n", stderr); return INT_MAX; } return a + b; }
其他链接: 更多示例代码
由 托管