c语言中case 的一些典型例题及详解

c语言中case 的一些典型例题及详解,第1张

void main()

{

int a=2,b=7,c=5

switch(a>0)

{

case 1:

switch(b<0) //b明显大于0,所以这里的判断b<0得到的结果明显为假,也就是0,而下面的case里面只有1,2所以都不满足

{

case 1:printf("衡备@")break

case 2:printf("!")break

//上面2个条件都不满足,而后面又没有break等,所以顺序斗枯执行下面的语句

}

case 0: //也就是到这里来了

switch(c==5) //c明显等于5,所以这里得到的结果真,也就是1

{

case 0:printf("*")break

case 1:printf("#")break /空拦洞/满足这个条件,然后打印“#”,并break推出

case 2:printf("$")break

}

default:printf("&")

}

printf("\n")

}

那是因为你的第二个猜前程序

switch(x)

{case 1 :

switch(y)

{ case0 : a++break

case1 : b++ break 这两个地方case和0或1之间没有空格,这个switch语句也就没有一个匹配的分支,所以不辩贺会执行。某些编译器应该会报错,或者会穗灶清有警告产生


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8224912.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存