急求一道简单C语言题目解答过程!!!

main(){inta=666,b=888;printf("%d\n",a,b);}程序运行后的输出结果是()A)错误信息B)666C)888D)666,888用程序执行... main()
{ int a=666,b=888;
printf("%d\n",a,b);
}
程序运行后的输出结果是( )
A)错误信息 B)666 C)888 D)666,888

用程序执行输出888 不是很明白原理 望高手解答一下
展开
 我来答
Sun_Phoebus
2008-04-16
知道答主
回答量:27
采纳率:0%
帮助的人:16.6万
展开全部
一楼fantasydb理解有误。
printf()函数对输出表中的各量求值的顺序是自右向左进行的,但是输出的顺序还是从左向右。
这是杨健霑主编的《C语言程序设计》书上57页的原话。
打印出来的结果应该是666而不是888.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5805393
2008-04-16
知道答主
回答量:36
采纳率:0%
帮助的人:30.1万
展开全部
你可以这样理解:
把a,b看成是逗号运算式 ,它的结果为b的值,而printf输出的是这个式子的值,即b值
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fantasydb
2008-04-16 · TA获得超过247个赞
知道小有建树答主
回答量:361
采纳率:0%
帮助的人:169万
展开全部
printf函数是从右向左执行的,只输出一个结果,所以只输出b值,而不是按照先输出a,再输出b,这个顺序执行的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
高金山
2008-04-16 · TA获得超过1万个赞
知道大有可为答主
回答量:4101
采纳率:0%
帮助的人:1991万
展开全部
没有什么好解释的
这个句子本来就是不正确的,就看编译器是如何理解了
我用VC6,输出的B)666
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式