请教高手,C语言问题! 20
展开全部
1 1
2 2
3 6
4 24
5 120
static 静态储存在函数内部调用时值不发生改变int f=1;只在第一次调用执行,即第一次执行int f=1第二次f=1是f=f*n;第三次f=2而不是1;
2 2
3 6
4 24
5 120
static 静态储存在函数内部调用时值不发生改变int f=1;只在第一次调用执行,即第一次执行int f=1第二次f=1是f=f*n;第三次f=2而不是1;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1!=1
2!=2
3!=3
4!=4
5!=5
程序:
int fac(int n){
static int f=1;
f=f*n;
return(f);
}
main()
{
int i;
for(i=1;i<=5;i++)
printf("%d!=%d\n",i,fac(i));
}
解释:
每次调用fac函数,f都被重新赋值为1
所以 当
i=1时 fac(1)=1
i=2时 fac(2)=2
i=3时 fac(3)=3
i=4时 fac(4)=4
i=5时 fac(5)=5
printf("%d!=%d\n",i,fac(i));
然后结果为
1!=1
2!=2
3!=3
4!=4
5!=5
2!=2
3!=3
4!=4
5!=5
程序:
int fac(int n){
static int f=1;
f=f*n;
return(f);
}
main()
{
int i;
for(i=1;i<=5;i++)
printf("%d!=%d\n",i,fac(i));
}
解释:
每次调用fac函数,f都被重新赋值为1
所以 当
i=1时 fac(1)=1
i=2时 fac(2)=2
i=3时 fac(3)=3
i=4时 fac(4)=4
i=5时 fac(5)=5
printf("%d!=%d\n",i,fac(i));
然后结果为
1!=1
2!=2
3!=3
4!=4
5!=5
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
i==1 f==1==1x1=1
i==2 f==1==1x2 =2
i==3 f==2==2x3=6
i==4 f==6==6x4=24
i==5 f==24==24x5=120
所以输出是:
1!=1
2!=2
3!=6
4!=24
5!=120
i==2 f==1==1x2 =2
i==3 f==2==2x3=6
i==4 f==6==6x4=24
i==5 f==24==24x5=120
所以输出是:
1!=1
2!=2
3!=6
4!=24
5!=120
追问
那我空格里该怎么填,给的答案都是这个,但填上都不对。
追答
就只有一行吗,在每个后面加\n试一下或者换行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-06-12
展开全部
答案为1*2*3*4*5,即120
追问
答案不对
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询