请教高手,C语言问题! 20

 我来答
让米烟平惠
2019-06-19 · TA获得超过3746个赞
知道大有可为答主
回答量:3065
采纳率:30%
帮助的人:181万
展开全部
a与b被定义为整形变量,不可负值为浮点型,所以前两次输入有误,第三次除数不能为0,所以第三次结果也异常,第四次的结果是完全正确的,整形相除结果还为整形,即相除后自动取整,所以C中只有整数部分
百度网友fb4c335
2014-06-12 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:89
采纳率:0%
帮助的人:59.1万
展开全部
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;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友802a3dcbc
2014-06-12 · TA获得超过1369个赞
知道小有建树答主
回答量:792
采纳率:0%
帮助的人:592万
展开全部
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
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tawa1991
2014-06-12 · 超过39用户采纳过TA的回答
知道小有建树答主
回答量:97
采纳率:0%
帮助的人:70.3万
展开全部
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
追问
那我空格里该怎么填,给的答案都是这个,但填上都不对。
追答
就只有一行吗,在每个后面加\n试一下或者换行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-06-12
展开全部
答案为1*2*3*4*5,即120
追问
答案不对
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式