编程大神请进!C语言中复杂的选择结构求解答!!(包括switch,case,default)

#include<stdio.h>voidmain(){inta=3,b=9,c=5;switch(a>0){case1:switch(b<0){case1:printf... #include<stdio.h>
void main()
{
int a=3,b=9,c=5;
switch(a>0)
{case1:
switch(b<0)
{case 1:printf("@");
case 0:printf("!");
break;}
case 0:
switch(c!=5){
case 1:printf("#");
case 0:printf("*");
break;
default:printf("%%");
}
default:printf("&");
}
printf("\n");}
最后的答案是&,我感觉答案应该是@&啊,真心没看懂,蛮复杂的!!麻烦哪位大神能够稍微说详细点,谢谢!!
展开
 我来答
nari_lizw
2014-11-26 · TA获得超过7390个赞
知道大有可为答主
回答量:2075
采纳率:70%
帮助的人:834万
展开全部

输出是!*&

#include<stdio.h>
void main()

 int a=3,b=9,c=5; 
 switch(a>0) //语句a>0的返回结果是1
 {
 case 1: //因为a大于0,所以从这里开始执行
  switch(b<0) //语句b<0的返回结果是0
  {
  case 1:
   printf("@"); 
  case 0:   //因为b不小于0,所以从这里开始执行
   printf("!");  //首先输出的是"!"
   break;   //break 跳出当前switch语句
  } 
 case 0:  //这个会被继续执行,因为上一个case没有break语句
  switch(c!=5)
  {  
  case 1:
   printf("#");        
  case 0:
   printf("*");   //因为c等于5,c!=5返回结果是0,所以从这里开始执行
   break;  //这里跳出当前switch语句,所以紧接着的default不会执行
  default:
   printf("%%");  
  }  
 default:
  printf("&"); //这个会执行,因为上一个case没有break语句
 } 
 printf("\n");
}
卡卡c罗没戏的
2014-11-26
知道答主
回答量:3
采纳率:0%
帮助的人:3872
展开全部
其实很简单,case1要是加空格后,就输出!*&,只是你的程序没加空格,因此没有满足的条件,故输出&,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ylcqucc
2014-11-26 · TA获得超过1436个赞
知道小有建树答主
回答量:862
采纳率:0%
帮助的人:339万
展开全部
编写程序,注意缩进,格式调整好了,程序的可读性才好。
本程序的输出结果为:!*&
分析如下:
1)第一个switch中的a>0,计算结果为1,因为a的初值为3.所以,第一个switch后的表达式的结果为1。接下来执行第一个case 1:后面的语句。
2)于是执行到第二个switch,计算switch后的表达式b<0,结果为0,因为b的初值为9.接下来执行该switch中的case 0:输出!。本switch执行结束。
3)然后,执行第一个switch中的case 0:
接着执行里面的switch语句,也就是第三个switch,计算其后的表达式:c!=5,结果为0.于是执行本switch中的case 0:输出*。由于此case 后又break,所以执行完本case后,第三个switch也就执行结束了。
4)接着执行第一个switch中的default:输出&
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友fc027fc
2014-11-26 · TA获得超过1.1万个赞
知道大有可为答主
回答量:3160
采纳率:83%
帮助的人:794万
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
牛牛牛不牛0720
2014-11-26 · TA获得超过342个赞
知道小有建树答主
回答量:367
采纳率:0%
帮助的人:351万
展开全部
目测输出的是 !*&
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式