请问:下面这个程序段的输出是( ).要详解啊亲

请问:下面这个程序段的输出是()。inta,b,c;a=7;b=8;c=9;if(a>b)a=b;b=c;c=a;printf("a=%db=%dc=%d\n",a,b,... 请问:下面这个程序段的输出是( )。
int a,b,c;
a=7;b=8;c=9;
if(a>b)
a=b;b=c;c=a;
printf("a=%d b=%d c=%d\n",a,b,c);
A. a=7 b=8 c=7 B. a=7 b=9 c=7
C. a=8 b=9 c=7 D. a=8 b=9 c=8
展开
 我来答
听不清啊
高粉答主

2022-01-05 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部

int a,b,c;
a=7;b=8;c=9;
if(a>b)
a=b;b=c;c=a;
printf("a=%d b=%d c=%d\n",a,b,c);

这个程序段的执行结果是,输出的是a=7 b=9 c=7,正面是验证的运行结果:

分析如下:

因为if(a>b)这个语句后面的执行语句是没有花括号的,所以,实际上它只管一个语句,后面的b=c;和c=a;都是无条件执行的。所以,本题是造势答案B。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
captain2005
2022-01-05 · TA获得超过1058个赞
知道小有建树答主
回答量:2041
采纳率:40%
帮助的人:557万
展开全部
应该是选项B, a=7 b=9 c=7,考点是if语句如果没有{ },只管到下面的一句(本例中,a=b;)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3123d73db
2013-01-04
知道答主
回答量:26
采纳率:0%
帮助的人:12.6万
展开全部
简化后: a b c
if(a>b)//不成立 7 8 9

{
a=b;
}
b=c; 7 9 9
c=a; 7 9 7
没了
选B
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
LeonHarvy
2013-01-04 · 超过21用户采纳过TA的回答
知道答主
回答量:43
采纳率:0%
帮助的人:47万
展开全部
答案选B
int a,b,c;
a=7;
b=8;
c=9;
if(a>b){
a=b;
}
b=c;
c=a;
printf("a=%d b=%d c=%d\n",a,b,c);

你的程序等同于这个,这样子你看的懂了吗?
if之后条件为真的时候才执行,你这里a>b为假,所以不执行a=b这条语句。

最终输出为7 9 7
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sichuandaxue_1
2013-01-04
知道答主
回答量:35
采纳率:100%
帮助的人:14.3万
展开全部
b,a<b所以a=b跳过,执行b=c,c=a,a不变
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式