楼上的分析有误,第一次输入2,case0.继续运行case1,得到6,继续运行case2又输出6,break,第二次输入4,得到case2输出8,break,输入7,执行default:putchar(c+2);break;输出9,输入3,,执行case1:putchar(c+4);case2:putchar(c+4);break;输出77。结果为668977,总之,要遇到break才能跳出此次运行,不然就得往下运行。