求此题,如何对溢出进行判断

输入两个int型整数,输出和,如有溢出输出error

你用int64类型的变量来接收输入的值做加法,再对比INT_MAX.
上面那位老哥的,如果计算结果是负数会有问题。

printf("%s", n+b > 0 ? "succes" : "error");

有用望采纳

#include <stdio.h>
#define MAXINT 2147483647
#define MININT -2147483648
int main()
{
    int a,b;
    long long s = 0;
    float t,tmax,tmin;
    scanf("%d %d",&a,&b);
    
    t = a/2.0 + b/2.0;
    tmax = MAXINT/2.0;
    tmin = MININT/2.0;
    if(t > tmax || t < tmin)
        printf("error");
    else
        printf("%d",a+b);
    return 0;

}