逻辑与:两者都为真则为真,否则为假
逻辑或:两者中有一者为真则为真
在计算机中,0为假,非0为真
逻辑与和逻辑或都只关心运行结果的真假
若结果为真,返回1,结果为假,返回0
可以看到程序运行结果是1,表示a和b都为真
我们要是把其中任何一个数字改为0,那结果就是假了
接下来是或
二者其中一者为真,结果为真,如图
若二者都为假,结果为假,如图
最后来看一道360的笔试题
答案是:
这里我们要注意一下a用的是后置++,而&&需要都为真,由于a是0,为假,后面也就不会再继续计算,因为&&里面已经有一个假就没有再算下去的必要了,就会直接退出运算。退出之后a再+1,其他数字都没变化,而式子中已经有了一个假,所以i就等于0,就有了这样的结果
这里我们把&&换成||会是什么结果呢?
既然是||的话,,就说明只要其中有一个为真结果就为真,所以式子会被计算完
当a是0,继续算,++b=3,这时得出了b为真,所以停止运算,i就是1,式子算完之后最后因为a是后置++,还要给它加上1,就得出了这样的结果