执行case 1,然后n--,然后n=4,然后continue,然后while(n>0),do switch,4%2=0执行case 0,n--,直接break了,甚至连printf都没接触到,我人都傻了。
第一次循环,5%2=1,所以执行case 1,n--后等于4,continue会回到do重新开始,这是4%2=0,执行case 0,n--后等于3,break跳出switch,执行后面的n--后,n=2,printf就打印出第一行2
由于n>0所以继续循环,n%2=0,执行case 0,n--后等于1,break跳出switch,再执行一次n--后n=0,printf就打印出第二行0
由于n=0,所以n>0不成立,while循环结束
break只是跳出switch,不是跳出while循环,所以printf是会执行的
n=5 >> n%2=1 >> case 1 >> n-->> n=4 continue 结束本次循环>>
n%2 =0 >> case 0 n-- n=3 break 跳出switch>> n-- n=2 >> printf 第一行输出2 >>
n%2 =0 >> case0 n-- n=1 break 跳出switch >> n-- n=0 >> printf 输出第二行 0