写出下列程序的输出结果 main( ) { int x=6; printf("%d\n,x+=x++,x+2,++x); } 求详细解题过程!

 我来答
123abcluck
2012-04-17 · 贡献了超过109个回答
知道答主
回答量:109
采纳率:100%
帮助的人:43.2万
展开全部
"x+=x++,x+2,++x"为逗号运算符,只考虑最后一个逗号后面的,所以输出为++x,x的初始值为6,"++"为前加,先加一,后赋值,所以输出结果为:7

我运行了下,输出结果是:14
创作者XfentiCFmv
2020-02-08 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.5万
采纳率:35%
帮助的人:767万
展开全部
运行结果是:
14
解析:
printf从右向左运算,第二个逗号后,
++x,x:7
然后第二个运算无视
第一个相当于x=x+x;
x++;
所以x最后是14
14
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-04-17
展开全部
首先你这个应该这样写吧:
main( ) { int x=6; printf("%d %d %d\n“,x+=x++,x+2,++x); }‘
输出结果是14,9,7
printf()函数是从右往左计算参数的,所以首先计算++x就是7,之后x+2是9,但是x的值是7还是没变。之后进行x = x + x++;x++是后缀自增,先使用,所以输出就相当于是x+x的值,最后是14;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
少年游h
2012-04-17 · TA获得超过1503个赞
知道小有建树答主
回答量:509
采纳率:0%
帮助的人:421万
展开全部
15
printf里面从右向左开始计算,++x结果x变为7,x+2不影响x,x+=x++先算赋值运算符右边的,也就是x++,此表达式结果为7(即x+=7),之后x值变为8,x=15
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1029329095
2012-04-17 · TA获得超过109个赞
知道答主
回答量:103
采纳率:0%
帮助的人:45.3万
展开全部
#include<stdio.h>
main()
{
int x=6;
printf("%d\n",x+=x++,x+2,++x);
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式