我的 c 程序没有给大家任何 result.pls 帮助

My c program is not giving any result.pls help everyone

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

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);
}

它给出的结果如下图所示。

您的问题出在这一行:

printf("factorial of n=",s);

这个输出factorial of n=,但是它不是简单的拼接s的值,而且s没有占位符,所以你其实参数太多了

int 输出需要一个占位符:

printf("factorial of n=%d",s);

没有它,您的程序将错误退出(状态 15,当 0 时正常)。

此外,(正如 Vlad 在他的回答中指出的那样)if (i==n+1) { ... } 块是多余的,因为 while 循环将在 i > n 时退出。

printf("factorial of n=%d\n",s);
                       ^^

还有这个代码片段

     if (i==n+1)
     {
         break; 
     }

是多余的,可能会被删除。

您可以将循环编写得更简单。例如

while ( n > 1 ) s *= n--;

无需再使用一个变量 i