| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2139 人关注过本帖
标题:真的不服。
只看楼主 加入收藏
莹幸儿
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2018-3-23
结帖率:22.22%
收藏
已结贴  问题点数:20 回复次数:12 
真的不服。
#include<stdio.h>
main()
{
    int x,y;
    for(x=y=1;x<=100;x++)
    {
        if(y>=10)
        break;
        if(y%3==1)
        {
            y=y+3;
            continue;
        }
    }
    printf("%d\n",x);//bufu,5
}
这段逻辑我是真的不懂
我觉就应该输出x=5
结果是4.为神马。
最后y=10,break推出了循环,表达是3不应该再执行一次么?
搜索更多相关主题的帖子: break 输出 结果 神马 循环 
2018-04-06 10:24
李晨经纪人
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:175
专家分:848
注 册:2018-2-14
收藏
得分:2 
break就跳出循环了,既然跳出循环了怎么还会执行for循环的第三个表达式?
2018-04-06 11:56
莹幸儿
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2018-3-23
收藏
得分:0 
回复 2楼 李晨经纪人
意思就是,如果把for 的第三个表达是拿出来就应该放在for子语句的最后,再break后面,
执行了break跳出循环则跳过了x++
2018-04-06 22:07
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:4 
        if(y%3==1)
        {
            y=y+3;
            continue;
        }
看似这几句可以直接改为:
            y=y+3;
            continue;
2018-04-07 05:40
莹幸儿
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2018-3-23
收藏
得分:0 
回复 4楼 吹水佬
这和我的问题好像没什么关系
2018-04-08 19:32
螃蟹爱吃小鱼
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:51
专家分:145
注 册:2018-3-6
收藏
得分:4 
我们以x<=100为结点,第一次判断是y=1,x=1,第二次时y=4,x=2,第三次时y=7,x=3,第四次时y=10,x=4,第四次后因为y>=10,所以终止循环,x=4
2018-04-08 20:23
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:4 
以下是引用莹幸儿在2018-4-8 19:32:38的发言:

这和我的问题好像没什么关系

y=1, y=y+3, y%3==1
代码就可简化为:
#include<stdio.h>
main()
{
    int x,y;
    for(x=y=1;x<=100 && y<10; x++,y+=3);
    printf("%d\n",x);
}
这样是否更容易看出问题所在了
2018-04-08 20:42
莹幸儿
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2018-3-23
收藏
得分:0 
回复 6楼 螃蟹爱吃小鱼
就是改循环中如果执行break就不执行表达式3
2018-04-09 18:15
莹幸儿
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2018-3-23
收藏
得分:0 
回复 7楼 吹水佬
就是,若表达式2不成了则不执行表达式3
2018-04-09 18:17
螃蟹爱吃小鱼
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:51
专家分:145
注 册:2018-3-6
收藏
得分:2 
回复 8楼 莹幸儿
执行break就直接跳出循环了,break后面的不执行
2018-04-09 19:10
快速回复:真的不服。
数据加载中...
 
   



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

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