最近写代码遇到的一个bug是因为在判断语句中错误使用赋值语句导致的。
else if (XXX&& (m = 0))
YYY
结果下面的YYY语句未得到执行。
原因是将语法记错了。
C中的赋值语句的返回值是所赋的值以允许连续赋值语句,Linux的shell中的赋值语句返回值恒为true。
最近写代码遇到的一个bug是因为在判断语句中错误使用赋值语句导致的。
else if (XXX&& (m = 0))
YYY
结果下面的YYY语句未得到执行。
原因是将语法记错了。
C中的赋值语句的返回值是所赋的值以允许连续赋值语句,Linux的shell中的赋值语句返回值恒为true。