luck_roki 发表于 2017-6-1 19:14:04

输出问题,怎么输出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;
        }

人造人 发表于 2017-6-1 20:52:02

long long 类型是 %lld 吧

zsy_ 发表于 2017-6-2 00:29:57

你这份代码有三个问题:
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]
查看完整版本: 输出问题,怎么输出long long型数值?