以下C程序段的输出是什么? (GATE CS 2012)
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") ;
}
(A)别无选择
(B)选择A
(C)选择A
选择B没有选择
(D)程序没有输出,因为它是错误的答案: (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") ;
}
}
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。