作为高级程序员键入程序时,n = 0;看起来更加高效和干净。
但n = 0;真的比 更有效率if (n != 0) n = 0;吗?
什么时候
n更有可能0。什么时候
n不太可能0。什么时候
n是绝对不确定的。
语言:C (C90)
编译器:Borland 的 Turbo C++
最少的可重现代码
void scanf();
void main()
{
int n; // 2 bytes
n=0; // Expression 1
scanf("%d",&n); // Absolutely uncertain
if(n!=0) n=0; // Expression 2
}
注意:我上面提到的代码仅供您参考。请不要随波逐流。
如果您对上述语言/标准/编译器不满意,请随时用您喜欢的语言/标准/编译器解释上述 3 种情况。