下列代码的输出结果是( )。
#include <iostream>
using namespace std;
int main() {
int a = 5;
int b = 10;
a = a ^ b;
b = a ^ b;
a = a ^ b;
cout << "a = " << a << ", b = " << b << endl;
return 0;
}看到三行异或赋值→先想交换逻辑
易错:只背公式不看执行顺序,误选B。
考点:位运算异或(XOR)|变量交换(异或交换法)|赋值语句顺序
a 最终为 10,b 最终为 5,选 C。