如果条件,则= AND ==之间的差异

时间:2017-02-21 21:03:49

标签: c

{{1}}

为什么输出我的代码是1,哪些不依赖于N(输入)?

3 个答案:

答案 0 :(得分:11)

=运算符将左值(在您的情况下为i)的值设置为右侧的表达式,然后返回变量的新值。这意味着i=5将i设置为5,然后返回5,它始终为5 != 0。因此,您打印的程序会在打印出第一个数字后立即退出,即1

万一你没有听到,=运营商将LVALUE的值(在你的情况下,I)设置为右手侧的表情,然后回归变数的新价值。这意味着I=5将我设置为5,然后返回5,它始终为5 != 0。因此,在第一个数字打印后,您立即编程出现,1

答案 1 :(得分:3)

这总是等于true,因为=实际上是设置值,而不是测试相等性。使用==来测试是否相等。

答案 2 :(得分:2)

==将检查两个值是否相等。 =将作为一项任务。于是 i=5将始终为真,循环将为break