问题 填空题

若有如下程序:
main()
int s=8,a=3,b=5,c=6;
if(a>b) s=a; a=b; b=s;
if(a>c) s=a; a=c;b=s);
if(b>c) s=b; b=c;c=s;
printf("%d,%d,%d\n",a,b,c);

则程序运行后的输出结果是 【11】

答案

参考答案:E,F,H

解析: 首先要清楚当满足第1个if的判断条件时只执行一条语句“s=a;”,当满足第2个if的判断条件时执行一条复合语句“{s=a; a=c; b=s};”,当满足第3个if的判断条件时只执行一条语句“s=b;”。执行程序:判断a>b,由于a=3,b=5则3>5为假,不执行“s=a;”,执行“a=b;”和“b=s;”,则a=5,b=8。判断a>c,由于a=5,c=6则5>6为假,不执行“{s=a; a=c; b=s

多项选择题
单项选择题