|
不要管你之前学的是什么,跟着我的思路来
1. while循环一共执行几次?
2. 无论switch后的语句块怎么执行,其中一句语句有没有可能在一次选择中执行两次?(当然,不考虑goto)
第一个问题应该没有问题,是5次;
如果一句语句只能执行一次,那么v1和v2的值有没有可能大于5?
教科书和教师所教授的东西一般都是加过自己的理解的,但是有时候还不如标准中的说法好理解
switch的语义是,一个语句块中,从哪里开始执行
例如
- int expr = 1;
- switch(expr){
- case 1:
- case 2:
- case 3:
- i += 1;
- i -= 2;
- i *= 3;
- }
复制代码 不管case标签是怎么分布的,不管标签后面有没有语句,有没有default break这些东西,标签第一次匹配后,这些标签在这次运行中就不再考虑了,语句块等价于
- {
- i += 1;
- i -= 2;
- i *= 3;
- }
复制代码 |
|