c - 当 switch 语句中有两个连续的 break 时会发生什么?

标签 c debugging switch-statement

#include <stdio.h>
int main()
{
    int i = 0;
    char c = 'a';
    while (i < 2){
        i++;
        switch (c) {
        case 'a':
            printf("%c ", c);
            break;
            break;
        }
    }
    printf("after loop\n");
}

以上代码的输出结果是什么? 第二次休息有什么意义吗?

最佳答案

break 是 C 中的一个跳转语句。它无条件地将控制转移到代码中的不同位置。这意味着 break 和跳跃的目标点之间的任何代码都是无法到达,除非有一个标签允许人们到达它。

在你的情况下没有这样的标签。第二个 break 无法到达且无效。

关于c - 当 switch 语句中有两个连续的 break 时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31056945/

相关文章:

c++ - 为什么 double 可以存储比 unsigned long long 更大的数字?

python - 如何停止 Python 脚本 - 仅当它正在调试时

javascript - 如何在 Nodejs 调试控制台 View 中更改对象的字符串表示

swift - 二元运算符 '~=' 不能应用于类型 'String' 和 'String?' 的操作数

c - Switch 语句执行不止一种情况 - C 编程

c++ - 为什么在 Equality-Comparable 类上不允许使用 switch-case 语句?

c - 使用 TCP 通过套接字传输文件时卡住

c - 有没有办法查询串口可用的数据量?

java - 在java中,动态分配

java - 调试 Java 程序 - 字节转换器