在下列代码的横线处填写( ),可以使得输出是 “24 12”。
#include <iostream>
using namespace std;
int main() {
int a = 12, b = 24;
________; // 在此处填入代码
a = a ^ b;
b = a ^ b;
cout << a << " " << b << endl;
return 0;
}看到连续异或交换,先想状态追踪:代入初始值逐行推演,别背模板。
易错点:只背‘三步法’看到缺一步就下意识选 A,完全忽略题目已固定后两步顺序;混淆位运算与算术运算,误选 C 或 D 破坏异或链自反性。
考点:位运算性质|异或交换逻辑
B. b = a ^ b