深入理解计算机系统第二章涉及到的溢出问题,两数相加判断是否溢出。
#include<stdio.h>
int taddOK(int, int);
void main(){
int x, y;
printf("Input two integers:\n");
scanf("%d %d",&x, &y);
printf("%d\n",taddOK(x,y));
}
/*Determine whether arguments can be added without overflow */
int taddOK(int x, int y){
int sum = x + y;
if(x < 0 && y < 0 && sum >= 0)
printf("负溢出");
else if(x >= 0 && y >= 0 && sum <= 0)
printf("正溢出");
else printf("没有溢出\n");
return sum;
}