我有一个基本问题,这让我很烦恼,我无法弄清楚程序员为什么会使用它。
if (0 == Indx)
{
//do something
}
上述代码的作用是什么,与下面的代码有何不同。
if (Indx == 0)
{
// do something
}
我试图理解为嵌入式系统编写的一些源代码。
答案 0 :(得分:8)
有些程序员喜欢使用它:
<textarea id="theText"></textarea>
<br><button onclick="pasteText()">Click</button>
因为这行
if (0 == Indx)
可以“轻易”被错误地编码,如赋值语句(而不是比较)
if (Indx == 0)
它在C中完全有效。
if (Indx = 0) //assignment, not comparison.
是一个返回0的表达式(也将0赋给Indx)。
就像在这个答案的评论中提到的那样,如果你在if中有这样的作业,大多数现代编译器都会向你显示警告。
您可以阅读有关优势与劣势的更多信息here。