我只是想在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;
}
答案 0 :(得分:2)
您应该使用%lld
。
scanf("%lld %lld %lld",&a,&b,&n);
printf("%lld",c);
但是long int
不是64位整数。使用long long int
中的int64_t
或inttypes.h
。