这里主要考察的是布尔值的隐式转换;
初始化 a、b、c;赋值为0;
进入if区间 if(!a) ,0等于布尔的false,!取反,结果为 true;执行x--,(这里得到x=34)。执行了if区间else区间不执行;
进入下一个if区间,if(c),同样,c初始化的时候为0了,即false;不执行if区间,来到else区间,执行了x=4;
最终的x结果就是 等于 4;
B
输出:x=4,选B 。if(!a) x--;//条件满足,此时x-- = 34 else if(b); if(c) x=3; else x=4;//if(c)不满足,所以执行else x=4.