6

这只是出于好奇,我问...

当使用“IF”时,我在任何地方看到的 99% 的代码都将采用“If (RValue == LValue) ...”格式。例子:

If (variableABC == "Hello World") ...

还有其他一些我看到相反的例子:

If ("Hello World" == variableABC)

任何人都知道这是如何开始以及为什么完成的?

4

3 回答 3

3

这样做是因为 C 和 C++ 中的这个错误:

if (variableABC = "Hello World") ...
                ^
                (Watch here)

这样我们就有了编译错误:

if ("Hello World" = variableABC)
                  ^
                  (Watch here)

例如,C# 和 Java 语言不需要这个技巧。

于 2012-04-20T19:16:32.750 回答
2

后者是为了防止意外赋值,如果您错误地使用赋值运算符=而不是相等运算符=='

某些语言不允许在 if 条件中进行赋值,在这种情况下,两者都可以。

在接受 if 条件下赋值的语言中,我总是更喜欢后一种情况。

于 2012-04-20T19:16:37.790 回答
1

这样做是因为开发人员经常写 = 而不是 == 的错误。在 C++ 中,整数可以被视为布尔值,并且在编译时没有错误。

于 2012-04-20T19:19:26.647 回答