C语言两个特别大的整数类型相加超出范围使用两个技巧

时间:2023-03-09 18:27:27
C语言两个特别大的整数类型相加超出范围使用两个技巧

技巧1:用long (%ld)或者long long(%lld)类型存取

技巧2:当两个同号的数字相加,放到等号的另一边,变成减号

问题:

给定区间[-2的31次方, 2的31次方]内的3个整数A、B和C,请判断A+B是否大于C

我的代码:

 #include<stdio.h>

 int main(){
long array[][];
int num,i,j;
scanf("%d",&num);
for(i=;i<num;i++){
for(j=;j<;j++){
scanf("%ld",&array[i][j]);
}
} for(i=;i<num;i++){
if((array[i][]>=&&array[i][]>=)||(array[i][]<&&array[i][]<)){
printf("Case #%d: %s\n",i+,array[i][]>array[i][]-array[i][]?"true":"false");
}else{
printf("Case #%d: %s\n",i+,array[i][]+array[i][]>array[i][]?"true":"false");
}
} }