详细解答下c语言这题

inta=1,b=0;则执行以下语句后,输出的结果是switch(a){case1:switch(b){case0:printf("\"\0\"\n");break;ca... int a=1,b=0;则执行以下语句后,输出的结果是switch(a)
{ case1:switch(b)
{case 0:printf("\"\0\"\n");break;
case1:printf("\"\1\"\n");break;}
default: printf("\"\2\"\n");break;}
展开
 我来答
易筱轅
2012-11-29
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部

自己编译一下不就知道了吗

执行case 0:printf("\"\0\"\n");break; \0文本结束  输出"结束

继续执行default: printf("\"\2\"\n");break;

\2 STX:

      STX(文本开始):通讯控制字符,用来表示文本(text)传输的开始,文本是字符流,是传输到最终目的地的信息实体,STX有时候也用于结束SOH启动的头信息传输。


所以结果:"" "

追问
先执行case0 后不是终止了吗  为什么还可以执行default  还有不需要执行case1了?
追答
BREAK内循环 外循环没有
lgao622
2012-11-29
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
downdownuser
2012-11-29
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
应该是执行 printf("\"\0\"\n");和printf("\"\2\"\n");这两句。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Go浪人生
2012-11-29
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
这段代码最终会执行 :printf("\"\0\"\n"); printf("\"\2\"\n");
原因:
1、switch(a) 符合 case 1,所以会执行 switch(b),而switch(b)符合case 0,所以执行 printf("\"\0\"\n");
2、case 0 经过break之后回到switch(a)的case 1。但是,switch(a)的case 1 与 default 之间并没有属于switch(a)的break;所以会执行default里的 printf("\"\2\"\n")
更多追问追答
追问
1.case1:switch(b) 语句是什么意思
2.系统先执行 case1 还是case0
3.执行完不是break被终止了吗 为什么还可以执行default: printf("\"\2\"\n");break
追答
1、如果 a 的值 是 1,则看 b 的值
2、你的这个 case 1是指switch(a) 下的case 1还是switch(b)下的case 1呢? 先执行switch(a)下的case 1,它查看 b 的值,结果b的值是0,所以执行switch(b)下的case 0,然后遇到break,跳出switch(b)回到switch(a)的case 1。
3、回到switch(a)的case 1后,没有与这个case 1对应的break。所以执行完case 1后不会跳出switch(a),所以会接着执行 default下的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友349d18b
2012-11-29
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
printf("\"\0\"\n");printf("\"\1\"\n");这两句的输出结果,因为switch(a)的case1没有break,会继续执行default里的代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式