{int l=1
for(i=6i>1i--)
l*=i
printf("6的阶乘是%d",l)
}
这道题考察基本功,要对变量值的变化理解了:#include "stdio.h"int ok(int a)
{
int aa=a
if(a==1)
a=1
else a=aa*ok(--a)//应该实现的效果是a=a*ok(a-1)你如果这里用a代替aa,由于a的值是语句最终所确定的那个值,由于执行了--a,所以这条语句相当于a=(a-1)*ok(a-1)所以你必须用一个局部变量来代替第一个a
return a
}
main()
{ int b,n
scanf("%d",&b)
n=ok(b)
printf("b!=%d",n)
}