C中的位整数

时间:2015-07-21 02:11:42

标签: c

我只是想在C中做一个可能给我们64位整数的问题。它不能支持显示这么大的数字。那我该怎么办?

#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>

int main() {
/* Enter your code here. Read input from STDIN. Print output to STDOUT */
long int a,b,n,c;
scanf("%ld %ld %ld",&a,&b,&n);
n-=2;
while(n--){
    c=(b*b)+a;
    a=b;
    b=c;
}
printf("%ld",c);
return 0;
}

1 个答案:

答案 0 :(得分:2)

您应该使用%lld

scanf("%lld %lld %lld",&a,&b,&n);
printf("%lld",c);

但是long int不是64位整数。使用long long int中的int64_tinttypes.h