黑马程序员技术交流社区

标题: continue语句 [打印本页]

作者: bling的女汉子    时间: 2015-8-21 13:52
标题: continue语句
for(i = 1;i < 10;i++){

    if(i = 5){
      
         continue;

     }

printf("%d\t",i);
}
打印出来的是什么
作者: 小笼包    时间: 2015-8-21 14:46
1
2
3
4
6
7
8
9
先执行循环语句,当n不等于5的时候就不执行if语句
直接打印相应的i值,
当i累加到5时,执行if语句,
到continue,直接结束当前循环,再次执行i++变成6
继续执行打印相应的i,然后依次下去
作者: wanghui001001    时间: 2015-8-21 14:52
楼上棒棒的,continue就是加速循环的,跳过所在的代码块的语句
作者: tr2e    时间: 2015-8-21 14:57
这个continue没意义吧
作者: 一个人の旋律    时间: 2015-8-21 15:49
你这个是死循环额。
for(i=1;i<10;i++)
{
    if(i=5) continue;                确定这里是i=5?而不是i==5?
    printf(...);
}
如果if里面是i==5 打印出来就是  1 2 3 4 6 7 8 9
作者: to_love    时间: 2015-8-21 15:50
同上,觉得没意思。
作者: jaunce    时间: 2015-8-22 00:46
continue是跳出本次循环继续下次循环的意思。。只有i=5的时候不打印出来,12346789
作者: 你是我的小苹果    时间: 2015-8-22 08:18
一个人の旋律 发表于 2015-8-21 15:49
你这个是死循环额。
for(i=1;i

正解。如果是i=5会有如下警告:using th result of an assignment as a condition without parentheses(就是说你利用一个赋值表达式的值作为判断条件,一般是本想用==的,却错用了=,由于这是初学者常犯的错误,所以编译器给出了警告)
作者: 你是我的小苹果    时间: 2015-8-22 08:26
本帖最后由 你是我的小苹果 于 2015-8-22 08:28 编辑

正确代码应该是:

#include <stdio.h>

int main()
{  
    for(int i = 1;i < 10;i++)    {
        if(i == 5)
        {
            continue;
        }
        printf("%d\t",i);
    }
    return 0;
}

输出结果是:1        2        3        4        6        7        8        9

附:continue的使用场合只有循环结构,作用:结束当前这次的循环体,进入下一个循环体

作者: smilejoke    时间: 2015-8-22 08:46
目测是楼主误把i==5,写成了i=5.
作者: tangbinbin    时间: 2015-8-22 10:11
1,2,3,4,6,7,8,9
作者: 毛强    时间: 2015-8-22 10:16
1 2  3 4 6 7 8 9
作者: tr2e    时间: 2015-8-22 11:35
jaunce 发表于 2015-8-22 00:46
continue是跳出本次循环继续下次循环的意思。。只有i=5的时候不打印出来,12346789 ...

原来如此 忽略了跳出 多谢
作者: 庞佳星    时间: 2015-8-22 12:24
for(i = 1;i < 10;i++){

    if(i = 5){  // 判断语句用==
      
         continue;

     }

printf("%d\t",i);
}
作者: leqoqo    时间: 2015-8-22 14:13
continue  是调出本次循环
作者: DUKEMAN    时间: 2015-8-23 11:03
呃....你打错了吧,应该是if(i==5),如果是if(i=5)就是说if(1)这个语句是真,会一直执行下去陷入无限循环,但是打印不出来东西
作者: xuexiujuan_1991    时间: 2015-8-24 22:21
打印1-9,除了5  continue是跳出当前循环,break是跳出整个循环
作者: a4903913    时间: 2015-8-25 20:17
这代码会编译报错
作者: 企业部-阿狗老师    时间: 2015-8-25 20:29
感觉还是可以的。  
乳沟有点改进更好
作者: 郑亚卓    时间: 2015-8-25 20:54
   if(i=5) continue;                确定这里是i=5?而不是i==5?
这里对吗?
作者: 小腼腆不是错    时间: 2015-8-25 21:53
1  2 3 4 5 6 7 8 9,continue用来加速循环,程序遇到continue,就不再往后执行,直接返回去执行新的循环。




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