C语言: 当n=1时, n+++n---n的结果是? 这道题应该怎么做?

 我来答
slatop
2012-01-21 · TA获得超过1390个赞
知道小有建树答主
回答量:381
采纳率:100%
帮助的人:431万
展开全部
你好,这种题目没有任何意义.C++/C严禁使用多项一条复合表达式.
一个精典的例子 int i=1,j=(i++)+(i++)+(i++);
像这样的情况下j的值是会根据不同的编译器有不同的改变.所以这种多项复合表达式是C或C++中严禁使用的,如果你面试写一句这东西.立马完蛋.
不过既然你问了,我还是给你解出来.我以VC2010为IDE环境
n+++n---n;
(n++)+(n--)-n;这样看你应该清楚多了吧,
接下来 VC2010对于这种表达式是先算出每个变量的值,最后再拿出结果.
所以(n++)+(n--)-n; =2+0-1=1
追问
谢谢,书里出的题,为了应试,我也没有办法,呵呵....
miniapplnde6kyenmttu
2012-01-21 · TA获得超过161个赞
知道答主
回答量:54
采纳率:0%
帮助的人:19.4万
展开全部
原式可以看成(n++)+(n--)-n=1,++和--都在+和-运行后运行且影响n的值,不影响表达式值,所以表达式值为1+1-1=1。。。
你可以编译n=1,n+++n试试,它等于2,(n++)+n=1+1=2,就能说明,++和--都在+和-运行完后再执行的,此时的n=2。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
吕小猪不坏
2012-01-21 · 超过27用户采纳过TA的回答
知道答主
回答量:81
采纳率:0%
帮助的人:59.7万
展开全部
编程给你算过了,等于1;从左到右计算,n++自加得2,此时n=2;再加n得4,4自减得3,再减n(2)得1。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式