| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2982 人关注过本帖
标题:关于continue的疑问
只看楼主 加入收藏
a861268448
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2014-9-15
结帖率:66.67%
收藏
 问题点数:0 回复次数:15 
关于continue的疑问
#include<stdio.h>
int main(){
int x=0;
while(x++ < 10)
{
if(x < 3)
{
continue;
printf("aaaa");
}
printf("%d\r\n",x);
}

return 0;
}

既然continue是跳过本次循环continue后面的内容,进行下一个循环,那我直接在continue所在循环体的后面不写语句,这样continue不是可以直接删掉了么。
那按照我这个逻辑的话,continue存在的意义是什么?(希望大家解释的时候可以举些简单的例子,方便我理解,我比较笨,多谢大家了)
搜索更多相关主题的帖子: return continue 
2015-03-11 23:23
a861268448
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2014-9-15
收藏
得分:0 
我在书中看到一个例子是

while(getchar()!='\n')
       continue;//清空输入行

(这个我不是理解)
2015-03-11 23:25
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你1樓的理解是對的。2樓的代碼是多餘的、徒增誤解的寫法,要明確那是空循環,直接寫分號即可,不用寫continue。

授人以渔,不授人以鱼。
2015-03-12 00:04
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:0 
continue前是有条件的,当满足这个条件时执行continue结束本次循环,当不满足条件时继续循环

一片落叶掉进了回忆的流年。
2015-03-12 00:08
MrY
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2015-3-11
收藏
得分:0 
#include<stdio.h>
int main(){
int x=0;
while(x++ < 10)
{
if(x < 3)
{}
else
{
printf("%d\r\n",x);
}
}
return 0;
}

#include<stdio.h>
int main(){
int x=0;
while(x++ < 10)
{
if(x < 3)
{
printf("aaaa");
}
else
{
printf("%d\r\n",x);
}
}

return 0;
}
<3時有沒有輸出,是這個意思嗎?
2015-03-12 09:02
执笔画江山
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:265
专家分:1010
注 册:2015-1-13
收藏
得分:0 
很简单的道理呗。continue就是将循环跳到本次循环的开始处。break是跳出本次循环,继续向下执行。

授人以鱼,不如授人以渔
2015-03-12 09:13
a861268448
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2014-9-15
收藏
得分:0 
回复 5楼 MrY
不,我是想讨论下continue的用法
2015-03-12 14:03
a861268448
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2014-9-15
收藏
得分:0 
回复 6楼 执笔画江山
但要是continue就是将循环跳到本次循环的开始处,那我其实可以直接把continue所在循环体后面的语句删了,不是更简洁吗?(我就是觉得continue很多余)
2015-03-12 14:04
a861268448
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2014-9-15
收藏
得分:0 
回复 3楼 TonyDeng
那在什么情况下continue是有用处的呢?可以举个小例子吗
2015-03-12 14:05
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用a861268448在2015-3-12 14:05:28的发言:

那在什么情况下continue是有用处的呢?可以举个小例子吗

如果在循環前部,有一些關係是需要選擇的,比如當前某個條件不符合後面的需要,就直接結束當前動作,做下一次循環。這在後面的代碼比較多的情況下有用,如果你把後面一大堆代碼都用if()縮進去,會擠佔版面不美觀,而且也沒有用continue告訴讀者這個時候不用看後面了來得直接。

有些循環條件,不是一條語句可以寫在條件表達式中的,可以在進入循環後再檢測。一切以閲讀和邏輯表達清晰爲依據,這就是continue/break的用法,是一種局限性的goto替代品,本質上是goto,不過是用在特定場合的而已。

授人以渔,不授人以鱼。
2015-03-12 14:19
快速回复:关于continue的疑问
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037761 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved