#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 (“#”);输出“#”,所以程序的输出结果是*#。