C语言选择题52?

来源:百度知道 编辑:UC知道 时间:2024/06/02 22:47:29
52.有如下程序
main( )
{ int a=2,b=-1,c=2;
if(a<b)
if(b<0) c=0;
else c++;
printf("%d\n",c);
}
该程序的输出结果是( )
为什么要这么选?

2
else和挨着他的,最近的,可见的if配对。
当第一个if不成立时,直接就到printf了
c的不变还是2

2
第一个if就跳过去下面的if else了

2

2
else与最近的 if配对
因为a>b 所以表达式为假!直接跳过if-else语句!执行print函数!