C语言关于函数阶乘问题的思路是什么?

2026年09月21日 16:45
有1个网友回答
网友(1):

#include
int myfac_n (int n ) ;//此处是;叫做函数声明,要定义的话直接用大括号,具体看你课本这些不用我说了吧
s的值未初始化为1
for (i=1 ; i<=n ; i++ )
{
s=s*(i+1);//此处i不需要+1,如果这样的话,i不能=n才可以
}
return s ;

void main()
{

int x , ans ;
scanf ("%d" ,x ) ;//这个问题时初学者很容易犯的毛病,就是输入的时候忘记取地址,一定记住输入是往地址中存放东西,所以x前面一定要有&,或者后面学到指针时,可以用指针也可。
ans = myfac_n( x ) ;
printf ("%d" , ans ) ;
}
别的暂时没有了,你初学吧,好好努力吧,下面是我给你修改过的,以后还是自己查程序吧,提高的块些!
修改后的:
#include
int myfac_n (int n )
{
int s = 1 , i ;
for (i=1 ; i<=n ; i++ )
{
s=s*i;
}
return s ;

}

void main()
{

int x , ans ;
scanf ("%d" ,&x ) ;
ans = myfac_n( x ) ;
printf ("%d" , ans ) ;
getchar();
}