第五届全国ITAT教育工程就业技能大赛预赛试题 C语言程序设计

(1) 在下述程序中,if (i>j) 语句共执行的次数是( )。
main()
{ int i=0,j=14,k=2,s=0;
for(;;)
{ i+= k ;
if(i>j)
{ printf(“%d”,s);
break ;
}
s+=i ;
}
}
这道题我怎么算出来是8次啊,但答案是7次,想不出来是怎么回事,请高手指点。

我想原理可能是这样的。原题问是的 if(i>j) 执行的次数。最后一次执行的是 i=16>14,然后 break 出循环。2,4,6,8,10,12,14,16 刚好8次。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-08
运算到14就跳出了循环,14>14不成立追问

14>14不成立,不会执行if里面的语句,应该不会跳出吧!

追答

抱歉,没仔细看题目,刚才程序里调试了一下,是8次,你确定ITAT给的答案是7次吗?如果是的话,那就是答案错了呗

第2个回答  2011-10-09
8次类,我觉得也是八次,你是不是把答案看错了啊!追问

应该是八次。也许答案给错了吧!

相似回答