无锡新区精密加工:C语言一道简单题

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 05:10:10
main( )
{ int t=1,i=5;
for(;i>=0;i--) t*=i;
printf(“%d\n”,t);
}
怎么T会等于0?

for(;i>=0;i--) 因为你for循环里i>=0;
在执行循环体t*=i;的时候
t=1*5*4*3*2*1*0
所以最后输出的结果t就等于0了!
如果改成for(;i>0;i--)
t=1*5*4*3*2*1
结果就是120了!
不知道是你哪里不明白?
t*=i;跟t=t*i;是等效的……
for(;i>=0;i--) 中省略了i=5你也可以写成for(i=5;i>=0;i--)

那你说该等于多少呀?