C/C++
题中限定a,b,c的范围为-到且为整型,整型中取值范围最高的类型为long long,取值范围为[-,-1],存不下,可能发生溢出。分项处理,当a<0,b<0时,a+b可能发生负溢出,影响标志位颠倒,使a+b大于0。当a<0,b>0;a>0,b<0等类似。
在if判断中,不可存在内存溢出的情况,需a+b相加保存起来。至于为什么,请大神留言。。
#include<cstdio>
int main()
{
long long a=0,b=0,c=0;
int count=0;
scanf("%d",&count);
for(int i=1; i<=count; i++)
{
long long sum=0;
scanf("%lld%lld%lld",&a,&b,&c);
sum = a+b; //内存处理
if(a>0 && b>0 && a+b<0) //留个疑问,若没先将a+b存在sum中会报错
printf("Case #%d: true\n",i);
else if(a<0 && b<0 && a+b>=0)
printf("Case #%d: false\n",i);
else if(a+b>c)
printf("Case #%d: true\n",i);
else
printf("Case #%d: false\n",i);
}
return 0;
}