C语言两个特别大的整数类型相加超出范围使用两个技巧
Posted lyxcode
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言两个特别大的整数类型相加超出范围使用两个技巧相关的知识,希望对你有一定的参考价值。
技巧1:用long (%ld)或者long long(%lld)类型存取
技巧2:当两个同号的数字相加,放到等号的另一边,变成减号
问题:
给定区间[-2的31次方, 2的31次方]内的3个整数A、B和C,请判断A+B是否大于C
我的代码:
1 #include<stdio.h> 2 3 int main() 4 long array[10][3]; 5 int num,i,j; 6 scanf("%d",&num); 7 for(i=0;i<num;i++) 8 for(j=0;j<3;j++) 9 scanf("%ld",&array[i][j]); 10 11 12 13 for(i=0;i<num;i++) 14 if((array[i][0]>=0&&array[i][1]>=0)||(array[i][0]<0&&array[i][1]<0)) 15 printf("Case #%d: %s\n",i+1,array[i][0]>array[i][2]-array[i][1]?"true":"false"); 16 else 17 printf("Case #%d: %s\n",i+1,array[i][0]+array[i][1]>array[i][2]?"true":"false"); 18 19 20 21
以上是关于C语言两个特别大的整数类型相加超出范围使用两个技巧的主要内容,如果未能解决你的问题,请参考以下文章