求一个简单的C语言习题的错误分析

[复制链接]
查看11 | 回复4 | 2012-3-24 17:25:00 | 显示全部楼层 |阅读模式
这是一个很好的题目:第一问:i=a=4; for循环的条件值是:i%a=4%4=0i%b=4%8=4 所以是False && True =False
这样循环一次也不执行。 不会打印任何信息第二问: for(i=a;;i++) 循环的判断条件省略的话,那么是一个死循环。但是不用担心。i++的话。总有一i可以加到8,是的if的条件满足。那么打印出8后,break跳出循环。
详细分析如下:第1轮循环:i=4, i%a=0,i%b=4 IF 不执行第2轮循环:i=5, i%a=1,i%b=5 IF 不执行第3轮循环:i=6, i%a=2,i%b=6 IF 不执行第4轮循环...
回复

使用道具 举报

千问 | 2012-3-24 17:25:00 | 显示全部楼层
其实你理解for了不?for第二个参数是条件判断,不能用for的循环体代替for的条件判断,这两个无相关性。假如for条件判断为真则执行for的循环体,循环体不能作为for的条件判断。...
回复

使用道具 举报

千问 | 2012-3-24 17:25:00 | 显示全部楼层
第一段代码中,for循环的条件变量由于条件不匹配,在第一个循环结束后就跳出了。第二段代码中,for循环的条件变量会一边增加一边去匹配,所以输出不同...
回复

使用道具 举报

千问 | 2012-3-24 17:25:00 | 显示全部楼层
第一个for循环条件判断为false直接跳出了循环,第二个会执行知道i%a==0 && i%b==0...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行