为什么会输出这个结果呀,懂的老手些说下呗,教下我这个新生呀
原理是什么,求解!
switch(x>0) x>0为true,所以表达式x>0的值为1,走case 1分支
switch(y<0) y<0为false,所以表达式y<0的值为0,应走case 0分支,
但是没有case 0,所以switch(y<0)这一整段都没有输出
因为最外层的switch的case 1分支里面没有break,所以会继续执行case 0里面的内容
switch (z==3) z==3为true,所以表达式z==3的值为1,走case1分支,输出#。输出语句后面有break,所以不会继续执行case2而是跳出这个switch
然后执行最外层switch的default分支,输出&
所以加在一起就是输出一个#,又输出一个&
————————————
总结:
一.true相当于1,false相当于0
二.switch(表达式),在这里要把表达式的值计算出来,根据这个值来看走哪个case
三.switch语句块中的case分支里面,如果遇到break则跳出switch语句块,否则将继续向下执行,即使下面是其他case分支也会继续执行