这个问题来自我的C语言考试。它要求结果。
#include <stdio.h>
int main()
{
int a = 4, b = 30;
printf("%d\n", a);
switch(a){
case 1: a = a*10; break;
case 2: a = a*10; break;
case 3: a = a*10;
while (a<b) case 4: {a = a+5;} break; //???
case 5: a = a*10; break;
default:
b = a*10;break;
}
printf("%d\n", a);
return 0;
}
结果是:
我知道while语句和switch语句的基本概念,但是我不明白switch块第四行中发生了什么。
我的猜测是测试while条件7次,直到变量a达到34(4
谢谢!
最佳答案
while (a<b) case 4: {a = a+5;} break; //???
case 4
只是一个标签。这等效于以下内容:
while (a<b)
some_label:
{
a = a+5;
}
break; //This will break out of the surrounding switch.