自己编译一下不就知道了吗
执行case 0:printf("\"\0\"\n");break; \0文本结束 输出"结束
继续执行default: printf("\"\2\"\n");break;
\2 STX:
STX(文本开始):通讯控制字符,用来表示文本(text)传输的开始,文本是字符流,是传输到最终目的地的信息实体,STX有时候也用于结束SOH启动的头信息传输。
所以结果:"" "
应该是执行 printf("\"\0\"\n");和printf("\"\2\"\n");这两句。
这段代码最终会执行 :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")
printf("\"\0\"\n");printf("\"\1\"\n");这两句的输出结果,因为switch(a)的case1没有break,会继续执行default里的代码