有以下程序段: #include 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); } 程序运行后的输出结果是( )。

admin2017-11-24  14

问题 有以下程序段:
#include
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);
}
程序运行后的输出结果是(  )。

选项 A、a=10 b=20 c=30
B、a=10 b=20 c=10
C、a=10 b=30 c=10
D、a=20 b=30 c=20

答案B

解析 此题结合if语句考查逗号表达式。if语句后面只执行一个语句,即以分号结束的一个语句。或用大括号包围的多条语句,此题中if后面是一个逗号表达式,若if条件为真,则执行此逗号语句,本题中if条件为假,所以此逗号表达式不会执行,所以程序将只执行c=a;这一句,所以a和b的值没有发生变化。
转载请注明原文地址:https://jikaoti.com/ti/kCkiFFFM
0

相关试题推荐
最新回复(0)