有一题C语言我不懂: x=8; a=+

有一题C语言我不懂:x=8;a=++x;b=x++;c=++x;y=a+b+c;为什么y的值29,x值为11?... 有一题C语言我不懂:
x=8;
a=++x;
b=x++;
c=++x;
y=a+b+c; 为什么y的值29,x值为11?
展开
 我来答
百度网友e096309
2016-03-08 · TA获得超过1328个赞
知道小有建树答主
回答量:501
采纳率:96%
帮助的人:425万
展开全部
a = ++x; 这是x先自加1然后把加1_之后_的结果赋给a,所以a是9,x是9
b = x++; 这是x自加1,并且把加1_之前_的结果赋给b,所以b是9,x是10
c = ++x; 这是x自加1,并且把加1_之后_的结果赋给c,所以c是11,x是11
y = a+b+c; 就是9+9+11=29
更多追问追答
追问
那b为什么不是10呢?
追答
b=x++是把x自加1之前的值给b,是加1之前,之前。重要的事说三遍,嗯。
明天小跟班_
2016-03-08 · 知道合伙人软件行家
明天小跟班_
知道合伙人软件行家
采纳数:269 获赞数:1251
大学毕业从事文员工作对offic办公软件有长期的工作操作实践经验,处理文档表格PPT效率一流得心应手。

向TA提问 私信TA
展开全部
程序分两段
第一段:if(!a)
{
x--;
}else if(b);//这里是分号“;”,表示这个if else 语句结束了

第二段:if(c)
{
x=3;
}else
{
x=4
}
所以x的值只跟第二段代码有关。c=0,所以x=4;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式