下列C语言代码的运行结果是()。

来源:百度知道 编辑:UC知道 时间:2024/05/30 02:35:41
void main(){
int a=2,b=1,c=2;
if(a<b)
if(b<0)
c=0;
else
c++;
printf(“%d”,c);
}
(选择一项)
a) 0
b) 1
c) 2
d) 3

先c
else与最近的if匹配(没有括号时)
没有运行c++
所以c=2

c

选c,结果为2

原因是第一个条件,都没有满足,所有的赋值语句都没有执行

原程序相等于:
#include <stdio.h>

void main()
{
int a=2,b=1,c=2;

if(a<b)
{

if(b<0)
{
c=0;
}
else
{
c++;
}

}

printf("%d\n",c);
}

第一个if的条件为假,所以不执行if下面的语句。而正如楼上所说的那样,else会与最近的if匹配,所以第二个if和下面的else是一对最为第一个if的语句。
所以,c的值不会发生变化。

D