执行顺序是这样的,原因
a
b!=15
v1!=0 所以!v1=0 if (!v1)不能执行,执行else
v2=0 所以if(v2)不能执行
执行x = -1
返回结果 -1
先看第一个if语句,因为a=10,b=20,a接着看b=20确实不等于15,b!=15为真,所以也执行该if语句,
在接下来看!v1,由于v1=5,!v1为0,0为假,所以调到else语句,
else下的第一句if(v2),由于v2=0,为假,所以不执行该if语句,而执行下面的x=-1;
所以,x被赋值为-1。最后程序输出结果是-1.