关于逻辑或的一个小小应用注意点

这两天在完毕一个新的项目,因为是新的。所以。非常多都是又一次写的。当中发现自己犯了一个比較低级的错误。弄了大半天,原来是写的格式错误,详细例如以下。希望其它博友不要和我一样,导致浪费时间在改动BUG,更重要的是影响心情。

主要目的:

假设 A 等于 6 或者 A 等于 8 ,B等于 9 否则 B 等于 10。


当然,以上是我简化后的表达。

错误写法:


if(A == (6 || 8))

{

B= 9;

}

else

{

 B = 10;

}

正确写法:


if((A == 6) || (A ==  8))

{

B= 9;

}

else

{

     B = 10;

}


哈哈,一看就明确了吗??

我的分析是:错误写法中的运算过程是推断 if(A == 1),由于推断前的运算时先运行 (6||8)。运行后 等于1 所以

走完错误的写法,B一直等于9.

这样理解没有错吧?


原文地址:https://www.cnblogs.com/clnchanpin/p/6877447.html