问题描述
解决方案
a=10是赋值,
if(a=90)意义不对,应该是if(a==90)比较两个值是否相等,如果一个等号变成了赋值语句,a等于90,然后,打印yes了
解决方案二:
a=90这个表达式的结果是90
因此永远返回false(非0就是false)
C++为了方便,赋值表达式也有值,比如
int b = a = 90;
此时 a b 都是90,因为b = (a = 90)
解决方案三:
a=90;是一个赋值语句,而a==90;是一个逻辑表达式,逻辑表达式只有true和false两个值.
解决方案四:
注意相等与赋值的区别,程序中的相等和数学中的相等写法不同。
有时候,为了防止这种错误,可以反着写,把 if(a==90) 写为 if(90 == a),这样出错的机会小一些。因为 90 是一个数,不是变量,它是不能被赋值的。
解决方案五:
if(a=90)
这个语句执行完的结果a会等于90
如果你是想要达到这个效果那么无可厚非,
如果你不是想要这个效果,
那可以写成。if(90==a)
前面有人已经说过这样的问题。这样你如果你误写成if(90=a)那么系统会报错。这样好过你在,编译成功后。发现结果是错的。把所有程序倒一遍。要简单的多。如果在大的程序中。一个小小运算错误?可能根本就发现不了。
解决方案六:
“=”赋值 if(X == Y)判定是否相同
基本上所有的编程语句都是这样的
时间: 2024-10-02 19:39:54