我已尽我所能搜索文档和互联网,但如果在 if 语句中使用赋值运算符,我无法让 Xcode 编译器发出警告。
我来自 RealBasic,在那里我有一个非常强烈的习惯,那就是输入这种比较:
if x = 5 then ...
当然,在 C 中,该语法将 x 赋值为 5,然后测试结果是否为非零,“正确”运算符是:
if (x == 5) { ... }
我发现有几处提到,如果在 if 比较中进行了赋值,编译器应该能够发出警告,但我找不到如何在 Xcode 3.1/gcc 中打开它。我找到了该-pedantic
选项,但这似乎没有产生警告。
由于我现在已经花了相当多的时间两次来追踪结果是“=”而不是“==”的错误,所以我希望得到警告的帮助。
我知道我可以这样做(这将导致编译器错误):
if (5 = x) { ... }
...但这也需要改变根深蒂固的编码习惯。更不用说它看起来笨拙和落后。
谢谢!