#include void main() { int a=0,b=2,c=3;   switch (a)  { case 0:switch (b==2)   { case l: printf(“*”);break;    case 2: printf (“%”);break;   }   case 1: switch (c)   { case l: printf(“$”);break;    case 2: printf (“&”);break;    default:
#include void main() { int a=0,b=2,c=3;   switch (a)  { case 0:switch (b==2)   { case l: printf(“*”);break;    case 2: printf (“%”);break;   }   case 1: switch (c)   { case l: printf(“$”);break;    case 2: printf (“&”);break;    default: printf (“#”);   }  }  printf (“\n”); }
【正确答案】:*#
【题目解析】:本题考核的知识点是switch语句的嵌套应用。外层switch语句后面括号里的a的值为0,所以执行从case 0:后面的语句开始执行,而case 0:后面语句也为switch语句,这个switch语句后面括号里的b==2的值为1,执行该switch语句里的case 1:输出“*”,遇到break语句,退出内层switch语句,由于外层switch语句的case 0后面没有break语句,则继续执行下面的语句,即case 1:后面的语句,又是switch语句,由于c的值是3,所以执行default:后面的语句printf (“#”);输出“#”,所以程序的输出结果是*#。
Top