20的阶乘代码的数据类型及输出打印格式是什么,我的代码如下

来源:5-7 递归函数(一)

jaylimey

2018-11-16 10:53

#include <stdio.h>


int f(int n)

{   

    if(n == 1)

    {

        return 1;    

    }

    else{

        return f(n-1)*n ;       

    }

}

int main()

{

    int n;

    unsigned long long sum=0;

    scanf("%d",&n);

    sum=f(n);

    printf("%llu",sum);

    return 0;

}


写回答 关注

3回答

  • 流星64
    2018-11-16 15:06:04
    已采纳

    #include<stdio.h>

    long long f(n)

    {

    if(n==1)

    {

        return 1;

    }

    else

    {

        return f(n-1)*n;

    }

    }

    int main()

    {

        long long sum;

        sum=f(20);

        printf("%lld\n",sum);

        return 0;

    }

    jaylim...

    哎呀,函数那里忘了,我说怎么输出不对,谢了啊

    2018-11-16 16:16:30

    共 1 条回复 >

  • 慕数据0208500
    2018-11-17 23:58:52

    long double应该足够吧

    jaylim...

    嗯,解决了,函数定义的数据类型忘了改,改了就没问题了

    2018-11-19 11:24:01

    共 1 条回复 >

  • 慕数据0208500
    2018-11-17 23:58:09

    有long long这种数据类型吗

    jaylim...

    有,我的问题是函数定义哪里忘了用long long

    2018-11-19 11:23:18

    共 1 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926299 学习 · 20799 问题

查看课程

相似问题