以下C程序段的输出是什么?
char inchar = 'A';
switch (inchar)
{
case 'A' :
printf ("choice A \n") ;
case 'B' :
printf ("choice B ") ;
case 'C' :
case 'D' :
case 'E' :
default:
printf ("No Choice") ;
}
(一种)
No choice
(B)
Choice A
(C)
Choice A
Choice B No choice
(D)
Program gives no output as it is erroneous
答案: (C)
说明:在情况’A’中没有break语句。如果执行了一个案例且其中不包含break,则将执行所有后续案例,直到找到break语句为止。这就是为什么打印交换机内部所有内容的原因。
尝试遵循以下程序作为练习。
int main()
{
char inchar = 'A';
switch (inchar)
{
case 'A' :
printf ("choice A \n") ;
case 'B' :
{
printf ("choice B") ;
break;
}
case 'C' :
case 'D' :
case 'E' :
default:
printf ("No Choice") ;
}
}
这个问题的测验