假设存在`int a = 5;`和`int b = 2;`,执行语句`a %= b += 2;`后,`a`的值为多少?
答案解析
复合赋值运算符的运算顺序是从右向左的,且`+=`的优先级低于`%=`。首先执行`b += 2;`,这等价于`b = b + 2;`,所以`b`的值变为4。然后执行`a %= b`,等价于`a = a % b`,即 `a = 5 % 4`,结果为1。因此,执行语句后`a`的值为1。选项B正确。
正确答案:B