在写判断语句的时候,我图方便一般都会写“|和&”的语句。
但是今天写题的时候发现有问题。
if(①|②|③)
{
}
if(①||②||③)
{
}
“|”:程序在判断时,即使①已经为true了,但是②,③会继续进行判断。
“||”:程序在判断的时候如果①已经为true了,则停止继续对②③的判断进入下面的语句。类似python的或/且语句(貌似叫惰性)。
&语句也一样。
所以就会造成一些问题比如:
此处判断语句中:
第一个为true,第二个索引超出边界,如果使用的是 ”|“ 符号,则程序会报错。
更换为”||“
&&和&与上述一样。