以下 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
(乙)
Choice A
(C)
Choice A
Choice B No choice
(四)
Program gives no output as it is erroneous
答案: (C)
说明:在 case ‘A’ 中没有 break 语句。如果一个 case 被执行并且它不包含 break,那么所有后续的 case 都会被执行,直到找到 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") ;
}
}
这个问题的测验