一个switch程序帮忙看看

#include <stdio.h> void main() { int x=0,y=2,z=3; switch(x) {case 0:switch(y==2) {case 1:printf("*");break; case 2:printf("%");break; } case 1:switch(z) {case 1:printf("$"); case 2:printf("*");break; default:printf("#"); } } }输出结果是*# 为什么不是一个*呢 不是应该执行完case0后就结束了吗?

菜鸟出蛋------多多指教.我希望我能在这论坛先坚持三年,那证明我没忘记我的梦