如果 a 和 b 为 int 类型的变量,则表达式 a = b 可以判断 a 和 b 是否相等。
这题考的是赋值运算符和比较运算符的区别。拿到题先想:C++里'='是干嘛的?它只管赋值,不管比较;要比较相等必须用'=='。
很多初学者看到'='就下意识觉得是'等于',这是把数学符号直接套用到编程里的惯性思维。在C++里,'a = b'这个表达式的含义非常明确:把b的值赋给a。它执行完后,整个表达式的值就是b,而不是一个表示'是否相等'的布尔结果。所以用它做判断是绝对行不通的,编译器也不会把它当成关系运算。
GESP一级基础语法,命题人专盯初学者把数学直觉当编程逻辑的惯性思维,专卡'赋值'与'比较'的混淆。
在C++里,'='是赋值运算符,作用是"把右边的值赋给左边的变量"。执行完' a = b '后,a的值变成了b的值,整个表达式的返回值就是b。而判断两个数是否相等,必须用比较运算符'==',它的作用是"返回一个布尔值(true或false)",告诉程序这两个数是否一样。