【发布时间】:2020-10-01 06:14:02
【问题描述】:
我在一个带有局部双类型变量 n4_1、n4_2 和 n4_3 的函数中编写了这个“if”语句:
if (n4_1 == 17 && n4_2 == 12 && n4_3 = 2003) { }
但 Windows Studio Intellisense 会在变量下划线并表示:
表达式必须是可修改的值
'=' : 左操作数必须是左值
这些变量的值是通过cin >>命令赋值的。
我只想在所有三个条件都为真时运行“if”语句中的代码。
请您帮我解释一下为什么这是不正确的,我该如何纠正?
我是初学者,所以欢迎提出建设性的批评。提前谢谢,请用简单的词大声笑,我需要尽可能清楚地理解未来。
【问题讨论】:
-
看起来
n4_3 = 2003是一个错字,应该是n4_3 == 2003,就像其他两个条件一样。 -
n4_3 = 2003将始终为真,无论此语句之前的 n4_3 的值如何。但是我不认为你想无条件地将 n4_3 设置为 2003。幸运的是你在这里遇到了一个通常不会发生的错误。虽然我希望收到警告。 -
“我是初学者,欢迎提出建设性的批评。”如果您需要建设性的批评,我建议您在以后的问题中提供minimal reproducible example(这个很明显)
标签: c++ logical-operators