选择题   有以下程序:
    #include<stdio.h>
    main()
    {
    int a=1,b=2,c=3;
    char flag;
    flag=b>=2 && c<=3;
    switch(a)
    {
    case 1:switch(flag)
    {
    case 0: printf('**');break;
    case 1: printf('%%');break;
    }
    case 0: switch(c)
    {
    case 1: printf('$$');break;
    case 2: printf('&&');break;
    default: printf('##');
    }
    }
    printf('\n');
    }
    程序运行后的输出结果是______。
 
【正确答案】 B
【答案解析】 main()函数中,根据b=2,c=3可知表达式b>=2&&c<=3为真,flag值为1;由a=1以及外层switch语句的case标号没有break语句,可知外层switch语句执行case 1、case 0;对于外层case 1,嵌套的switch语句根据flag=1执行case 1,执行printf('%%'),输出结果是“%”,接着执行break语句;对于外层case 0,嵌套的switch语句根据c=3执行default语句,执行printf('##'),输出“##”。故本题答案为B选项。