这道题考查的是多个嵌套的if-else语句如何结合(就近原则)
别看else与第1个if对齐了,但是它与第2个if最近,所以第2个if和else是一组。
虽然题目中的写法是符合语法的,但是强烈建议初学者不要这样写。我们在写代码时,if语句后面一定要加上花括号{ }将要执行的语句包起来,提高可读性,不容易出错!不要嫌麻烦,可读性真的很重要!
我将代码重新整理一下:
int x=2,y=-1,z=2;
if (x<y){
if (y<0){
z=0;
}else{
z+=1;
}
}
printf("%d\n",z);
相当于
if(x<y)
{
if(y<0)
z = 0;
else
z += 1;
}
由于x=2,y=-1,所以if条件不满足,直接执行最后的输出啦,z值没有改变
第二个if是嵌套在第一个if里面的呀