C程序,switch语句,打印默认选项

时间:2016-03-15 16:57:28

标签: c

这是代码

#include<stdio.h>

int main()
{
    int a=1;
    switch(a)
    {
        case 1:
            printf("Case A");
            default:    printf("Default");
    }
}

输出: 案例A默认

为什么打印默认情况?

4 个答案:

答案 0 :(得分:5)

case 1之后没有break语句,因此控制执行default语句。

switch(a)
{
    case 1:  printf("Case A");
             break;
    default: printf("Default");
}

答案 1 :(得分:1)

您尚未为case1添加break语句。

case 1:
    printf("Case A");
    break;

答案 2 :(得分:0)

请尝试这些:

switch(a)
{
    case 1:  printf("Case A");
             break;
    default: printf("Default");
}

它的工作方式如下:switch计算表达式并检查它是否等于1;如果是,则执行printf(“案例A”);直到它找到break语句。当它找到这个break语句时,程序跳转到整个switch语句的结尾(结束括号)。 参考:http://www.cplusplus.com/doc/tutorial/control/

答案 3 :(得分:0)

正如其他人提到的那样,你忘了发表一份中断声明 break语句是阻止其他情况被使用的原因。

switch(a)
    {
        case 1:  printf("Case A");
        case 2:  printf("Case B");
                 break;
        default: printf("Default Case");
    }

有人说它有时会很有用。如果你想要两个案例,那么在交换机中运行就可以完成这个任务:

total

在这个例子中,1产生“Case ACaseB”而2产生“Case B”。