如果A,则B你可以看成if(A) { B; },即如果A为非0的值,才是B;
!A||B,则是(!A)||B,||符号是逻辑或,逻辑或是有一边成立就为真,在C语言里面逻辑或有一个短路效应,即先运算的左边表达式成立,就不执行后面一个了,如果不成立,才执行后面的表达式,那么同样当A为非0的值,取反后为0,表达式不成立,才会执行后面的B.
如果A,则B你可以看成if(A) { B; },即如果A为非0的值,才是B;
!A||B,则是(!A)||B,||符号是逻辑或,逻辑或是有一边成立就为真,在C语言里面逻辑或有一个短路效应,即先运算的左边表达式成立,就不执行后面一个了,如果不成立,才执行后面的表达式,那么同样当A为非0的值,取反后为0,表达式不成立,才会执行后面的B.