1.首先看结构,if(y2.从上到下if(8<20)是对的执行下一条,if(x!=4)是对的执行下一条,if(20)20是非零数,是对的,所以执行下一条x=1。3.接着是if else语句,if(!20)这里20是是正确的,所以!20是错误的(因此不执行后面的x=-1)执行else后面的x=0.4.输出x,x=0
x=1由上面的if语句可以到达最后的if(z)的分支,if语句里的值大于零则为真所以if(z)为真,if(!z)为假,故x被if(z)下面的赋值语句赋值