有以下程序段: #include<stdio.h> 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); 程序的输出结果是( )。

admin2020-11-27  20

问题 有以下程序段:
#include<stdio.h>
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语句的作用范围为a=b,b=c;由于if条件为false,所以这两条语句不执行,执行c=a语句,所以程序最终输出结果:10,50,10,答案为A。
转载请注明原文地址:https://jikaoti.com/ti/lYD0FFFM
0

最新回复(0)