📜  C |回路和控制结构|问题13

📅  最后修改于: 2021-07-02 16:23:53             🧑  作者: Mango

以下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基础课程》。