| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 773 人关注过本帖
标题:关于continue的问题
只看楼主 加入收藏
人生如梦似的
Rank: 1
等 级:新手上路
帖 子:16
专家分:5
注 册:2011-4-10
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:12 
关于continue的问题
#include<stdio.h>
viod main()
{int n;
for(n=100;n<=200;n++)
{if(n%5==0)continue;
printf("%d",n)
}
}
此程序的目的是要输出100-200之间不能被5整除的整数;但是不是遇到continue
就提前结束循环的吗,也就是n的值始终是100没变啊,那么程序的功能怎么能实现呢?求高手解释啊!  感谢了啊!
搜索更多相关主题的帖子: continue 
2011-04-13 22:47
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:0 
#include<stdio.h>
void main()
{
  int n;
  for(n=100;n<=200;n++)
 {
  if(n%5==0)  continue;//.....1
  printf("%d",n); //......2
  }
}
注意continue和break的区别!
如果n可以被5整除则进入一下轮循环(也就是进入下一个n的判断),不会执行2句!否则2句输出,输出的就是不能被5整除的数!
你可以把continue换成break试试,会发现什么都没有输出!因为第一个数100能被5整除,所以循环就直接没有了!

[ 本帖最后由 qq1023569223 于 2011-4-14 00:09 编辑 ]

   唯实惟新 至诚致志
2011-04-13 22:56
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:0 
是break才退出循环啊!不是continue!

   唯实惟新 至诚致志
2011-04-13 23:02
boxinchao
Rank: 4
等 级:业余侠客
帖 子:51
专家分:231
注 册:2011-4-13
收藏
得分:0 
回复 楼主 人生如梦似的
兄弟,自己调试过了没啊就来发问了

void拼写错了...还有句尾的分号...
2011-04-13 23:04
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
以下是引用boxinchao在2011-4-13 23:04:12的发言:

兄弟,自己调试过了没啊就来发问了

void拼写错了...还有句尾的分号...


善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-04-13 23:40
默默学习
Rank: 4
等 级:业余侠客
帖 子:134
专家分:200
注 册:2010-6-22
收藏
得分:0 
LZ你好,这一题是因为你对两个函数的概念还不清楚.
1.  break
2.  continue
先说第1个吧.
break:书上说"直接结束本次循环",也是说程序执行到此直接结束本层循环!
第2个.
continue:"直接结束本次循环",LZ不是要输出100之内不被5整除的数吗.
其实很明显,LZ你只要把这题调出来就可以知道,程序输出1,2,3,4,6的时候.它可以
输出6证明了,当满足if条件的时候,continue只是结束了本次循环,所要达到的目的是为
了阻止printf的输出,这样方可满足题目条件.

希望对你有帮助!谢谢,.
2011-04-14 00:14
人生如梦似的
Rank: 1
等 级:新手上路
帖 子:16
专家分:5
注 册:2011-4-10
收藏
得分:0 
回复 4楼 boxinchao
这个,个别单词打错了是失误啊!见谅,这位哥你弄错我的意思了,这个程序当然是正确的,我的问题是在CONTINUE!
2011-04-14 12:49
饭桶
Rank: 6Rank: 6
等 级:侠之大者
帖 子:165
专家分:422
注 册:2011-4-5
收藏
得分:0 
#include<stdio.h>
 main()
{int n;
for(n=100;n<=200;n++)
    {if(n%5==0)
         continue;
     else
         printf("%5d",n);
    }
  
}

continue是跳过这一次循环,继续下一次循环。break是直接就跳出循环,不会在去循环。你注意一下书写格式。

人得一生得奋斗!
2011-04-14 12:56
人生如梦似的
Rank: 1
等 级:新手上路
帖 子:16
专家分:5
注 册:2011-4-10
收藏
得分:0 
回复 6楼 默默学习
这里我想问一下这位哥,是不是不管遇到了continue,循环体的其他部分就不执行了,但是for(;)的第二个分号后的部分都要执行啊!我现在的主要问题就是for(;)的 第二个分号后的部分遇到continuebreak的执行情况(就是执不执行?)
2011-04-14 13:02
一个人的方向
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:49
专家分:143
注 册:2010-3-30
收藏
得分:0 
continue是停止本次的循环。。。,然后再接着下一次循环,改为break
2011-04-14 13:06
快速回复:关于continue的问题
数据加载中...
 
   



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

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