实际上,大多数电脑中,整数都是用补码来表示的。发生溢出不会报警,只是将最高位直接截断。/*习题2.30 C语言 开发环境VC++6.0*/#include<stdio.h>int taddOK(int, int);void main(){ int x, y; printf("Input two integers:
"); scanf("%d %d",&x, &y); printf("%d
",taddOK(x,y));
}/*Determine whether arguments can be added without overflow */ int taddOK(int x, int y){ int sum = x + y; int negOverflow = x < 0 && y < 0 && sum >= 0; int posOverflow = x >= 0 && y >= 0 && sum <= 0; return !negOverflow && !posOverflow; }