逻辑判断啊,很简单啊
不过有一个短路一说,在c基础中好像没有介绍。我当年学的时候就没有注意到,老师也没有说
道理是,c在逻辑判断中,为了提高运算效率,节省计算机资源,在逻辑判断中有个设置
如c=a&&b(ab都为表达式),如果ab有一个为零,那么c=0。所以只要a=0,那么后面的b就没有必要计算了,你说是不是啊。所以在c中,这个短路的说法就是,a=0,那么b就不计算
c=a||b也是一样的道理,只要a=1,那么b也不计算
++x&&++y||--z
这个当中,xy运算完都是2,那么||前面的是非零了,所以--z就不计算了
x=2,y=2,z=1
c语言中逻辑表达式是短路求值,++x&++y为真,则不必再执行(--z)也可知其与任何数的或(||)也为真,所以不执行(--z)这一步,所以z的值还是1。