关系表达式中的注意问题—总结钱能C++
(1)注意“=”与“==”的区别
“=”是赋值运算符,用来连接成赋值表达式,它的值是所赋的值。
“==”是关系运算符,用来连接关系表达式,它的值是真(1)或假(0);
相等比较与赋值操作之所以容易搞错,是因为它们都有值,都能作为条件。
如果将他们放入if条件中,成为条件表达式,则其执行的情况为:
C++编译器在应该出现条件表达式的位置上,如果遇到赋值表达式会发出一个警告。警示你的条件表达式可能有潜在的错误。
要培养不放过任何一个警告的习惯,否则难免搞错的“=”与“==”将对你的程序造成实质性的伤害。
(2)作为条件表达式,测试表达式不等于零与表达式本身等价。
if(x!=0) cout<<x; 等价于 if(x) cout<<x;
(3)测试条件表达式等于0与表达式的否定等价
if(x==0) cout<<x; 等价于 if(!x)cout<<x;
(4)相等测试的否定与不相等测试等价
if(!(x==9))cout<<x; 等价于 if(x!=9)cout<<x;
(5)注意不等式连写的错误
数学中可用 a<b<c
C++中用 a<b&&b<c