输入的任意整数计算其阶乘,输入小于等于-1的数时退出程序,但是无论输入什么整数,结果都是0 - 爱问答

(爱问答)

输入的任意整数计算其阶乘,输入小于等于-1的数时退出程序,但是无论输入什么整数,结果都是0

#include <stdio.h>
#define END  -1
long Factorial(int x);
main()
{
    int x;
    while (1)
    {
        printf("input x:");
        scanf("%d",&x);
        if (x <= END)
            break;
        else
            printf("%d! = %d ", x, Factorial(x));
    }
}
 
long Factorial(int x)
{
    int i;
    int result;
 
    for (i=1; i<=x;i++)
        result *= i;
        return result;
}

你的程序有一个疏忽,对result没有初始化,你可运行下面改正后的程序:

#include <stdio.h>
#define END  -1
long Factorial(int x);
main()
{
   int x;
   while (1)
   {
       printf("input x:");
       scanf("%d",&x);
       if (x <= END)
           break;
       else
           printf("%d! = %d ", x, Factorial(x));
   }
}
long Factorial(int x)
{
   int i;
   int result=1;
   for (i=1; i<=x;i++)
       result *= i;
       return result;
}

程序的运行例:


下一篇:c语言:return的返回值类型为long(长整型),而该自定义函数的返回值为int(整型)。

上一篇:这个标签是什么机器做的

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?