有以下程序段:
#include<stdio.h>
main()
{
int a,b,c;
a=10;b=20;c=30;
if(a >b)a=b,b=c;c=a;
printf(''a=%d b=%d c=%d\n'',a,b,c);
}
程序运行后的输出结果是( )。
【正确答案】
B
【答案解析】此题结合if语句考查逗号表达式。if语句后面只执行一个语句,即以分号结束的一个语句。或用大括号包围的多条语句,此题中if后面是一个逗号表达式,若if条件为真,则执行此逗号语句,本题中if条件为假,所以此逗号表达式不会执行,所以程序将只执行c=a;这一句,所以a和b的值没有发生变化。