A-A+

以下程序的运行结果是【 】。 main() { int a=2 b=7 c=5; switc

2022-08-12 19:17:58 问答库 阅读 197 次

问题详情

以下程序的运行结果是【 】。 main() { int a=2,b=7,c=5; switch(a>0) { case 1: switch (b<0) { case 1:printf("@"); break; case 2:pnntf("!"); break; } case 0: switch (c==5) { case 0:pnntf("*"); break; case 1:printf(""); break; case 2:printf("$"); break; } default: printf("&"); } printf("n"); }


请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:#&
首先看最外面的switch,其表达式为a>0,结果为真(即1),从case1:标号处开始执行。这里又是一个switch语句,其表达式为b<00,结果为假(即0),由于没有case0:或default:标号,所以直接跳过此switch语句。因为没有遇到break;语句,所以继续执行进入内部第2个switch语句,其表达式为c==5,结果为真,从case1:标号处开始执行,输出一个#,遇到break;语句,跳出该内部switch语句,最后执行default:标号后的输出语句输出一个&后,整个外部switch语句执行完毕。程序最后输出的换行符不会显示,所以本题应该填#&。

考点:程序