if else的时候, 每个else和最近的没有匹配if相匹配.
对于你这个题目 匹配关系是
a>b不成立, 于是 直接执行最后一个else 也就是x=7 所以选A. 这个匹配对了 很简单.
而switch的规则是, 判断switch后续的值, 然后执行对应case, 如果没有相等的case, 那么执行default.
一直执行到break退出, 没有break则执行到switch结束.
这句是最重要的 也是最容易考的.
于是你这个题目的运行流程就是
执行完switch(y)之后, 会继续执行swich x的case 2. 于是 a自加两次, b自加1次.
a=2 b=1
输出为A
追问谢谢谢谢!