我的c程序没有给出任何结果.请帮助每个人

-6 c loops factorial

我写了一个没有给出正确结果的程序.

main()
{
    int i=1,n,s=1;
    printf("enter the value of n");
    scanf("%d",&n);

    while(i<=n) 
    {
         s=s*i;
         i++;
         if (i==n+1)
         {
             break; 
         }
    }
    printf("factorial of n=",s);
}
Run Code Online (Sandbox Code Playgroud)

它给出的结果如下图所示. 在此输入图像描述

eli*_*ide 6

你的问题在于这一行:

printf("factorial of n=",s);
Run Code Online (Sandbox Code Playgroud)

这是输出factorial of n=,但它不是简单地连接的值s,并且没有占位符s,所以实际上你有太多的参数.

您需要int输出占位符:

printf("factorial of n=%d",s);
Run Code Online (Sandbox Code Playgroud)

如果没有它,程序将退出并显示错误(状态15,当0为正常时).

另外,(正如Vlad在他的回答中指出的那样)该if (i==n+1) { ... }块是多余的,因为你的while循环已经退出了i > n.