专栏首页idealclover的填坑日常C语言循环和switch中的break和continue

C语言循环和switch中的break和continue

事件的起因是同学甩来的一道题,问程序的输出结果

#include<stdio.h>
int main(void){
    int i;
    for(i=1;i<10;i++){
        switch (i%3) {
            case 0:
                i+=3;
                break;
            case 1:
                i+=4;
                continue;
        }
        i++;
    }
    printf("%d\n",i);
}

查了一些资料最终也弄明白了这个题,答案是11。

问题的关键在于循环和switch中的break和continue的不同。在switch中是响应break但不响应continue的,换句话说,在switch中使用break,break是针对switch的;而在switch中使用continue,continue是针对for的。

具体到这道题来说,第一次循环所响应的是case 1,i变成5后直接continue,i自增为6后继续循环;此时响应的是case 0,i自增为9后break出switch,执行接下来的语句i++,自增为10;之后在下一次for循环开始时自增为11,不满足i<10条件,跳出for循环。最终输出的i值即为11。

参考资料:

http://blog.csdn.net/lvyuan30276/article/details/9383221

版权声明:

本作品由idealclover采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可,转载请注明出处。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • UniTypecho 安装使用全攻略

    毕竟自己开的项目还是要自己填填文档的坑的,于是简单做了这样一份 UniTypecho 的使用攻略,希望能帮到对这个小程序有兴趣的人

    idealclover
  • 从零开始折腾博客(3):一键安装脚本LAMP.sh搭建Wordpress站点

    LAMP:Linux+Nginx+MySQL+PHP,为动态网站的搭建提供了一系列的平台支持。

    idealclover
  • Linux 下尝试自建Anki服务器

    关于Anki是什么,具体怎么用,也许以后会在公众号中做进一步的介绍。总的来说,Anki是一个很好用的,在电脑端手机端均可用的,开源的记忆应用。可以帮助自己记住包...

    idealclover
  • 习题:switch嵌套

    其实在之前的程序结构讲解里面,我们就说过对于嵌套不用考虑多复杂,把它当成一条语句即可。

    用户6755376
  • python中如何退出多层循环

     2、使用函数配合return关键字 实现跳出循环(在函数内部只要执行完return语句 则直接退出函数)

    py3study
  • 刚开始玩openMP,总结一下遇到的一点小问题。

            首先,VS中设置步骤:         工程属性 —> C/C++ —> language 中的Open MP Suport中选择Yes 就OK...

    MachineLP
  • csdn 一键三连代码

    F12调出 开发者工具 用console 控制台 输入上面js代码 即可 一键三联

    韩旭051
  • 5G哪家强?看看爱立信,华为和诺基亚

    移动市场中成熟的运营商正在逐步加强LTE网络性能,以提高吞吐量和降低延迟,同时还投资下一代5G网络,这些网络今年有望实现有限的商业化,明年将进行更多规模的部署。...

    SDNLAB
  • [日常] Go语言圣经-匿名函数习题2

    练习5.13: 修改crawl,使其能保存发现的页面,必要时,可以创建目录来保存这些页面。只保存来自原始域名下的页面。假设初始页面在golang.org下,就...

    陶士涵
  • Educational Codeforces Round 54 (Rated for Div. 2) A. Minimizing the String(思维)

    题目链接:http://codeforces.com/contest/1076/problem/A

    Ch_Zaqdt

扫码关注云+社区

领取腾讯云代金券