来自:c缺陷与陷阱1.1节
当形如e1 = e2这样的表达式出现在语句的条件判断部分时,有些编译器会给出警告消息。当确实需要对变量进行赋值并检查该变量是否为0时,为了避免来自编译器的警告,我们不应该简单的关闭警告选项,而应该显示的进行比较。也就是说,下面的例子:
if( x = y )
foo();
应该改写为:
if( ( x = y ) != 0 ) { foo(); } |
这种写法使得代码的意图一目了然
来自:c缺陷与陷阱1.1节
当形如e1 = e2这样的表达式出现在语句的条件判断部分时,有些编译器会给出警告消息。当确实需要对变量进行赋值并检查该变量是否为0时,为了避免来自编译器的警告,我们不应该简单的关闭警告选项,而应该显示的进行比较。也就是说,下面的例子:
if( x = y )
foo();
应该改写为:
if( ( x = y ) != 0 ) { foo(); } |
这种写法使得代码的意图一目了然