1.int i=20;switch(i/10){case 2:printf("A");case 1:printf("B");} 的输出结果为A。
解答:错误
原代码为:
int main()
{
int i = 20;
switch (i / 10)
{ case 2:
printf("A");
case 1:
printf("B");
}
}
程序输出结果为:AB
这是因为:switch语句中,case后面没有break,输出A后不退出。继续往下执行输出B,所以应该在每个case语句的最后,都应该加一个break跳出语句,若未出现break,程序继续执行,直到语句结束。
正确代码如下:
int main()
{
int i = 20;
switch (i / 10)
{ case 2:
printf("A");
break;
case 1:
printf("B");
break;
}
}