a=一, !a=0, 第一个if判断为false, 程序执行至else if(a==0) 第二个if继续判断为false, 程序执行printf, 输出b=0. 你自己单步调试一下就知道了, 这种问题不值顾问的