x=0;y=2;z=3;
switch(x)
{case 0:switch(y==2)
{case 1:printf("*");break;
case 2:printf("%");break;
}
case 1:switch(z)
{case 1:printf("$");
case 2:printf("*");break;
default:printf("#");
}
}
若变量已正确定义,以下语句段的输出结果是( )
答案:3 悬赏:50
解决时间 2021-02-21 12:48
- 提问者网友:堕落的邪教徒
- 2021-02-20 21:21
最佳答案
- 二级知识专家网友:木子香沫兮
- 2021-02-20 22:59
第一级的switch(x)中的 case 0后面没有break
因此 执行完case 0之后(实际输出了*),会进入case 1分支,由于switch(z)没有匹配,执行default,输出#
因此 执行完case 0之后(实际输出了*),会进入case 1分支,由于switch(z)没有匹配,执行default,输出#
全部回答
- 1楼网友:晨与橙与城
- 2021-02-21 01:02
打印结果为*#
- 2楼网友:情战辞言
- 2021-02-21 00:29
x=0;y=2;z=3;
switch(x)
{case 0:switch(y==2)//这是个表达式,因为y=2,所以y==2为真(1),所以走case 1分支。
{case 1:printf("*");break;
case 2:printf("%");break;
}
break;//由于你缺少break,所以会执行case 0 后的下一个case语句
case 1:switch(z)
{case 1:printf("$");
case 2:printf("*");break;
default:printf("#");//因为z=3,所以走这个分支
}
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯