答案是:3。
首先,注意大括号的位置,switch(b%2)其实是swith(a%3)的case:1的执行内容。
一,判断a%3是1,所以执行:
case 1:m++;
switch(b%2)
{
default:m++;
case 0:m++;break;
}
这里switch(b%2),先执行了default,由于没有break语句,又无条件执行了case 0:的内容。
所以共执行了3次m++。结果就是3。
追问
追答肯定语法错误,if如果不加大括号,只对下一条语句起作用,x=y;y=x;是两条语句了。else那里也一样。这样写会if和else中间隔了一个语句,就匹配错了了。
非要这么写,x=y,y=x;这里中间用逗号不要用分号,这叫逗号表达式。是一条语句。
追问好的,感谢🙏
请问这道题 是因为什么呢?