main() { int a=2,b=-1,c=2; if(a<b) if(b<0) c=0; else c++; printf(“%d\n“,c) } 输出结果是3还是2? 先直接看代码: 如图可知a,b,c的值都未发生变化; 具体原因:因为else总是会和上一个if组成语句,组成的语句都是if(a<b)下层当a>b时,下层语句都不执行,所以a,b,c都是原值。