极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 21042|回复: 11

C语言continue疑问

[复制链接]
发表于 2012-8-4 10:03:08 | 显示全部楼层 |阅读模式
main()
{
      int i;
      for (i = 1; i < 10;i++)
       {
        if((i%2) == 1 )
           {
             printf("I'm rather odd...\n");
             continue;   
           }
           printf("Even up! \n");
       }
   return 0;
}


代码摘自书本,鄙人对continue 的含义有些不理解;

没有 else 语句 他是如何执行 printf("Even up! \n");

回复

使用道具 举报

发表于 2012-8-4 10:08:36 | 显示全部楼层
这个很简单了。。。判断后如果不是就继续执行以后的语句,判断语句自然结束,不需要else
回复 支持 反对

使用道具 举报

发表于 2012-8-4 10:10:19 | 显示全部楼层
continue 的意思是跳过这个循环的剩余语句,并且设置下次循环条件为真,直接进入下一次循环。这里,第一次continue 之后执行下次循环 if((i%2) == 1 )了。

对应的break是跳过循环的剩余语句,并且设置下次循环为假,就是完全跳出这次for,执行return 0;了
回复 支持 反对

使用道具 举报

发表于 2012-8-4 10:12:10 | 显示全部楼层
本帖最后由 Ansifa 于 2012-8-4 10:30 编辑

     if((i%2) == 1 )
           {
             printf("I'm rather odd...\n");
             continue;   
           }
           printf("Even up! \n");   <-----靠continue; 来做else,跳过Even up!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-4 10:16:17 | 显示全部楼层
迷你强 发表于 2012-8-4 10:08
这个很简单了。。。判断后如果不是就继续执行以后的语句,判断语句自然结束,不需要else

1/2 余1 如何就执行 printf("I'm rather odd...\n");  然后一个continue 就让循环继续下去
2/2 余0 不是余1 然后一个continue 就执行 printf("Even up! \n");

是不是可以这样理解
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-4 10:17:38 | 显示全部楼层
本帖最后由 毛毛虫 于 2012-8-4 10:18 编辑
Ansifa 发表于 2012-8-4 10:10
continue 的意思是跳过这个循环的剩余语句,并且设置下次循环条件为真,直接进入下一次循环。这里,第一次c ...


对这个跳过剩余语句 我就是很不理解  

以我这段为例  哪段是剩余语句
回复 支持 反对

使用道具 举报

发表于 2012-8-4 10:23:07 | 显示全部楼层
      for (i = 1; i < 10;i++)
       {
        if((i%2) == 1 )
           {
             printf("I'm rather odd...\n");
             continue;   
           }
           printf("Even up! \n");                   -----continue是跳过指它所在的最内层循环,就是这个for。所以剩余语句就是这句continue以后,for之内的语句
       }
回复 支持 反对

使用道具 举报

发表于 2012-8-4 10:29:58 | 显示全部楼层
其实你把这段执行一次然后看输出就很清楚啦~ 就是直接执行下一次for循环去了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-4 10:32:39 | 显示全部楼层
Alexie 发表于 2012-8-4 10:29
其实你把这段执行一次然后看输出就很清楚啦~ 就是直接执行下一次for循环去了

速度太快 看不清楚啦
回复 支持 反对

使用道具 举报

发表于 2012-8-4 11:16:10 | 显示全部楼层
毛毛虫 发表于 2012-8-4 10:32
速度太快 看不清楚啦

加入延时呗
回复 支持 反对

使用道具 举报

发表于 2012-8-4 11:16:23 | 显示全部楼层
毛毛虫 发表于 2012-8-4 10:32
速度太快 看不清楚啦

delay(1000);
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-4 11:45:22 | 显示全部楼层
大体上 有些了解了 谢谢各位
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-5-4 15:40 , Processed in 0.042880 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表