解析:
- a,b,c范围是[-263,263],而long long是 [-263,263-1],当相加大于范围时会溢出,变成负数。
- 因此我们需要进行正负溢出判断。
#include <stdio.h>
int main(){
int n,tc=1;
scanf("%d",&n);
while(n--!=0){
long long a,b,c;
scanf("%lld%lld%lld",&a,&b,&c);
long long mm=a+b;
bool flag=false;
if(a>0&&b>0&&mm<0){flag=true;
}else if(a<0&&b<0&&mm>=0){
flag = false;
}else if(mm>c) {flag =true;}
if(flag==true)
{printf("Case #%d: true\n",tc);
}
else printf("Case #%d: false\n",tc);
tc++;
}
}
本文介绍了一个C语言程序,该程序用于判断三个long long类型变量相加后的结果是否溢出。通过正负溢出判断,确保了在[-2^63, 2^63-1]范围内进行安全的数学运算。

被折叠的 条评论
为什么被折叠?



