请问:下面这个程序段的输出是( ).要详解啊亲

2024-11-24 18:27:15
推荐回答(5个)
回答1:

int a,b,c;
a=7;b=8;c=9;
if(a>b)
a=b;b=c;c=a;
printf("a=%d b=%d c=%d\n",a,b,c);

这个程序段的执行结果是,输出的是a=7 b=9 c=7,正面是验证的运行结果:

分析如下:

因为if(a>b)这个语句后面的执行语句是没有花括号的,所以,实际上它只管一个语句,后面的b=c;和c=a;都是无条件执行的。所以,本题是造势答案B。

回答2:

应该是选项B, a=7 b=9 c=7,考点是if语句如果没有{ },只管到下面的一句(本例中,a=b;)

回答3:

简化后: a b c
if(a>b)//不成立 7 8 9

{
a=b;
}
b=c; 7 9 9
c=a; 7 9 7
没了
选B

回答4:

答案选B
int a,b,c;
a=7;
b=8;
c=9;
if(a>b){
a=b;
}
b=c;
c=a;
printf("a=%d b=%d c=%d\n",a,b,c);

你的程序等同于这个,这样子你看的懂了吗?
if之后条件为真的时候才执行,你这里a>b为假,所以不执行a=b这条语句。

最终输出为7 9 7

回答5:

b,a