如下 C++ 代码执行后的输出是 10 。
int a;
a = 5;
a == +5;
cout << a;看到题先想运算符优先级和语义。a = 5 是赋值,a == +5 是关系表达式,返回布尔值但不改变 a。cout << a 输出 5。题目说输出 10,所以是错的。
选项 A 是"正确",这是典型的"看到 == 就以为是赋值"的陷阱。选项 B 是"错误",这是正确答案。易错点在于混淆 = 和 ==,以及误以为 +5 是 10。
本题考查 GESP 二级 C++ 模块中赋值与比较运算符的区别。命题人卡住的是"看到 == 就以为是赋值"的惯性思维,这是二级学生最普遍的误区。
看到题先想运算符优先级和语义。a = 5 是赋值,a == +5 是关系表达式,返回布尔值但不改变 a。cout << a 输出 5。题目说输出 10,所以是错的。