Koarz int a{}; for(int i = 0; i < 10; i++) { switch(a) { case 0: break; case 1: continue; } a++; } 这段代码运行结束后a的值为多少?
Koarz 答案:1 在第一次进入switch时 a = 0 所以会调用 break ,这里的 break 只会导致退出 switch 块 不会结束for运行,a = 1之后每次调用的 continue 针对 for 循环,所以 a会保存等于1不变
Dr_du int a{}声明了一个名为 a 的整型变量,并使用列表初始化进行了初始化。因为 {} 里面是空滴,意味着 a 被初始化为整型的默认值,即 0。因此在第一次进入for循环的时候进入case 0语句,这边的break是跳出switch语句而不是for,所以跳出去后会执行a++操作,这时候a变为1。再进入switch的时候进入case 1语句,这时候的continue面对的是for循环,因此直接进行下一轮循环,而不会再执行a++操作。最后结果便是a=1。 (如果有误,还请指正❥(^_-))