黑马程序员技术交流社区

标题: 菜鸟 请教大神问题 [打印本页]

作者: 禹舜    时间: 2014-11-2 20:51
标题: 菜鸟 请教大神问题
#include <stdio.h>
int main()
{
    for (int i = 0; i<10; i++) {
        if (i % 2) continue;
        if (i == 8) break;
        printf("i=%d\n", i);
    }
    return 0;
}

真心 不会。。。为啥答案是
i=0
i=2
i=4
i=6

作者: 肌肉男小虎    时间: 2014-11-2 21:50
我告诉你,不知道对不对,反正我是学过C的,就是你不是磨2了么,然后2的偶数你懂得
作者: zhaitong1991    时间: 2014-11-2 22:03
if(i%2)的意思是 i%2的结果大于0则执行if() 奇数满足
continue是跳过本次循环  
i从0到9   i=0 余数0 不满足continue条件 也不满足break 打印0
i=1 满足余数1 满足continue 跳过 直接 i=2
i=2 余数0 不满足continue条件 也不满足break 打印2 以此来类推 到 i=6 不满足continue条件 也不满足break 打印
i=7 跳过 i=8 不满足continue条件 满足break 结束循环。

作者: 禹舜    时间: 2014-11-3 16:36
zhaitong1991 发表于 2014-11-2 22:03
if(i%2)的意思是 i%2的结果大于0则执行if() 奇数满足
continue是跳过本次循环  
i从0到9   i=0 余数0 不 ...

谢谢~ 解答的很详细  看懂了 嘿嘿嘿~
作者: mahei521    时间: 2014-11-15 18:18
continue是不执行continue下面循环体的语句直接退出本次循环执行下次循环,break是直接退出循环,不在执行循环。所以本程序的功能就是输出8一下的偶数,偶数通过continue控制,输出上线通过break控制。
作者: MacxChina    时间: 2014-11-21 19:17
首先你要明白continue、break的作用!
作者: 世俗孤岛    时间: 2015-3-2 11:44
有解释很清楚的哦




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2