单选题 有以下程序:
#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选项。