else是和之前与其最近的且不带else的if配对,有种情况我不太明白
在嵌套使用if语句时,C语言规定else总是(C)。A)和之前与其具有相同缩进位置的if配对B)和之前与其最近的if配对C)和之前与其最近的且不带else的if配对D)和...
在嵌套使用if语句时,C语言规定else总是( C )。
A)和之前与其具有相同缩进位置的if配对 B)和之前与其最近的if配对
C)和之前与其最近的且不带else的if配对 D)和之前的第一个if配对
这是题目,我知道答案说的是哪种情况,但是有种情况我还是不太明白:
大家看图上的这种情况,else与第一个if配对还是与第二个if配对,我觉得是第一个,这样的话这道题的答案就不对了。难道这样是与第二个if配对?
题目说的是嵌套使用if语句,这种情况算是嵌套吗,我觉得算是吧。
求解释~ 展开
A)和之前与其具有相同缩进位置的if配对 B)和之前与其最近的if配对
C)和之前与其最近的且不带else的if配对 D)和之前的第一个if配对
这是题目,我知道答案说的是哪种情况,但是有种情况我还是不太明白:
大家看图上的这种情况,else与第一个if配对还是与第二个if配对,我觉得是第一个,这样的话这道题的答案就不对了。难道这样是与第二个if配对?
题目说的是嵌套使用if语句,这种情况算是嵌套吗,我觉得算是吧。
求解释~ 展开
2个回答
展开全部
//类型1:
if(a>b){
if(a>2*b){
printf("a>b\n");
}
}
else{
printf("a<b\n");
}
//类型2:
if(a>b)
if(a>2*b)
printf("a>2*b");
else
printf("no\n");
如上所示,这句话是针对没有用大括号限制作用域的if、else嵌套来说的:
对于类型1,因为有大括号来限制作用域,所以else与第一个if配对;
对于类型2,没有大括号限制作用域,else就与之前与其最近的且不带else的if配对,也就是第二个else;
不知道这样说你明白吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询