A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© bling的女汉子 中级黑马   /  2015-8-21 13:52  /  2685 人查看  /  20 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

for(i = 1;i < 10;i++){

    if(i = 5){
      
         continue;

     }

printf("%d\t",i);
}
打印出来的是什么

20 个回复

倒序浏览
1
2
3
4
6
7
8
9
先执行循环语句,当n不等于5的时候就不执行if语句
直接打印相应的i值,
当i累加到5时,执行if语句,
到continue,直接结束当前循环,再次执行i++变成6
继续执行打印相应的i,然后依次下去
回复 使用道具 举报
楼上棒棒的,continue就是加速循环的,跳过所在的代码块的语句
回复 使用道具 举报
这个continue没意义吧
回复 使用道具 举报
你这个是死循环额。
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
回复 使用道具 举报
同上,觉得没意思。
回复 使用道具 举报
jaunce 中级黑马 2015-8-22 00:46:38
7#
continue是跳出本次循环继续下次循环的意思。。只有i=5的时候不打印出来,12346789
回复 使用道具 举报
一个人の旋律 发表于 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: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的使用场合只有循环结构,作用:结束当前这次的循环体,进入下一个循环体
回复 使用道具 举报
目测是楼主误把i==5,写成了i=5.
回复 使用道具 举报
1,2,3,4,6,7,8,9
回复 使用道具 举报
1 2  3 4 6 7 8 9
回复 使用道具 举报
tr2e 中级黑马 2015-8-22 11:35:02
13#
jaunce 发表于 2015-8-22 00:46
continue是跳出本次循环继续下次循环的意思。。只有i=5的时候不打印出来,12346789 ...

原来如此 忽略了跳出 多谢
回复 使用道具 举报
for(i = 1;i < 10;i++){

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

     }

printf("%d\t",i);
}
回复 使用道具 举报
continue  是调出本次循环
回复 使用道具 举报
呃....你打错了吧,应该是if(i==5),如果是if(i=5)就是说if(1)这个语句是真,会一直执行下去陷入无限循环,但是打印不出来东西
回复 使用道具 举报
打印1-9,除了5  continue是跳出当前循环,break是跳出整个循环
回复 使用道具 举报
这代码会编译报错
回复 使用道具 举报
感觉还是可以的。  
乳沟有点改进更好
回复 使用道具 举报
   if(i=5) continue;                确定这里是i=5?而不是i==5?
这里对吗?
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马