输出问题,怎么输出long long型数值?
写了一个求阶乘的函数,输出是long long型,用printf试了没法输出代码如下:
#include <stdio.h>
long long jiecheng();
int main(){
int n;
scanf("%d", &n);
printf("%L", jiecheng(n));
return 0;
}
long long jiecheng(int n){
int i, k = 1;
for(int i = 2; i <= n; i++){
k = i * k;
}
return k;
}
long long 类型是 %lld 吧 你这份代码有三个问题:
1:printf("%L", jiecheng(n)); 此处应用%lld
2:int i, k = 1 因为你函数返回的k的类型是long long类型,所以不能用int ,应该为long long k = 1;
3:for(int i = 2; i <= n; i++) 上文已经定义过int i,循环内在定义为重复定义。
页:
[1]