分析下列c程序,写出程序的运行结果

main(){intx,y;x=10;y=(x++)+x;printf("%d\n",y);x=9;printf("%d,%d\n",++x,x);x=10;y=x--+... main()
{ int x,y;
x=10;y=(x++)+x; printf("%d\n",y);
x=9;printf("%d,%d\n",++x,x);
x=10;y=x--+x; printf("%d\n",y);
x=6;printf("%d,%d",x++,x);
}
展开
 我来答
睡不着想你了
2011-04-25 · TA获得超过524个赞
知道小有建树答主
回答量:309
采纳率:0%
帮助的人:300万
展开全部
第一句, x=10;y=(x++)+x; printf("%d\n",y);,里面是先执行x+x,然后括号里的x再自加1,所以,结果是20.
第二句,x=9;printf("%d,%d\n",++x,x);,++X是先执行X的自加,再输出,所以前面那个是10,也许你会问,为什么后面那个是9呢,因为它没有再给X赋值了,也就是没有说明x=++x,所以,X还是9.
第三句, x=10;y=x--+x; printf("%d\n",y);和第一句是同样原理的。
第四句, x=6;printf("%d,%d",x++,x);,相当于:x=x++,这样的话,X就先赋值,然后自身再加一,所以前面是6,后面也是6。
总的结果是:20
10,9
20
6,6
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式