你可能誤解了代碼
加不加的結果 肯定不一樣的 自己實驗看看編譯跟執行的結果 比問人得到的經驗值會更高的
Switch Operator ”
如果case运算符中的常量都不等于表达式值,则执行由默认default标签标记的运算符。默认变体不一定要声明,也不一定是最后一个。
——这意味着,1.不是可以 加不加break的问题,是整个default这个语句行可以不加。2.按你的意思,如果default该行放最后一行,似乎是可以不加,但得有分号,即单"default: "将是一个错误的语句,应为 "default: ;",而如果不是放最后一行,则不加break时,将产生图中 第一个例子中的B or C的运行结果,即文档中的这个说法:“ Switch Operator带常量的case关键字只是标签,如果为某些case变量执行了运算符,程序将进一步执行所有后续变量的运算符,直到 break 运算符出现。它允许将一系列运算符绑定到多个变体
Lin Luo #:
Switch Operator ”
Switch Operator
如果case运算符中的常量都不等于表达式值,则执行由默认default标签标记的运算符。默认变体不一定要声明,也不一定是最后一个。
——这意味着,1.不是可以 加不加break的问题,是整个default这个语句行可以不加。2.按你的意思,如果default该行放最后一行,似乎是可以不加,但得有分号,即单"default: "将是一个错误的语句,应为 "default: ;",而如果不是放最后一行,则不加break时,将产生图中 第一个例子中的B or C的运行结果,即文档中的这个说法:“ Switch Operator带常量的case关键字只是标签,如果为某些case变量执行了运算符,程序将进一步执行所有后续变量的运算符,直到 break 运算符出现。它允许将一系列运算符绑定到多个变体
非常感谢您的解答!受益!谢谢!
加不加都是完全一样的,到最后一句都执行结束
加不加都是完全一样的,到最后一句都执行结束
请问在switch函数里面,让函数停下来是不是有两种情况,一种是碰到了break;,还有一种是碰到了default?
如果是的话,是不是下面这段代码,在default后面那个break,加不加效果都是一样的?谢谢!
case 2:
default:
Print("x is not 1 or 2");
break;