我最近失去了一些时间来弄清楚我的代码中的错误是由一个错字引起的:
if(a=b)
Run Code Online (Sandbox Code Playgroud)
代替:
if(a==b)
Run Code Online (Sandbox Code Playgroud)
我想知道是否有任何特殊情况你想要在if语句中为变量赋值,或者如果没有,为什么编译器不会发出警告或错误?
看起来
if (x=y) { .... }
Run Code Online (Sandbox Code Playgroud)
代替
if (x==y) { ... }
Run Code Online (Sandbox Code Playgroud)
是许多邪恶的根源.
为什么并非所有编译器都将其标记为错误而不是可配置警告?
我有兴趣找出构造if (x=y)有用的案例.