有以下程序段 #include int a, b, c; a=10; b=50; c=30; if (a>b) a=b, b=c; c=a; printf("a=%d b=%d c=%d\n", a, b, c); 程序的输出结果是( )。

admin2015-07-28  27

问题 有以下程序段
#include
int a, b, c;
a=10; b=50; 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=50 c=10
B、a=10 b=50 c=30
C、a=10 b=30 c=10
D、a=50 b=30 c=50

答案A

解析 if语句的形式为"if(表达式) 语句体",若语句体为复合语句,则必须用"{}"括起来,否则只会执行if(表达式)下的第一条语句。程序中"c=a;"不属于if语句体。if语句表达式为假,对应语句体不执行。接下来执行"c=a;",c的值变为10,a、b的值不变,所以答案选A。
转载请注明原文地址:https://kaotiyun.com/show/UdJp777K
0

最新回复(0)