先讲第一个if
意思是 (x>y) 或者 ((y!=20) && (ok1==0)) && (ok2!=0) 为真 整体就为真
前部分x>y 已经不为真了。所以只需看后半部分的真假
后半部分的意思是
((y!=20) 为真 并且 (ok1==0)为真 )并且 (ok2!=0) 为真 整体才能为真
三者皆为假。
所以 || 之前为假 之后也为假 假||假=假
程序走到else if
(ok1!=0) 并且 (ok2==0) 此条件满足 所以a现在等于-1
因为else if 满足了
就不会进入下面的 else了
所以输出就是a的当前值 -1