i=5,p=(i++)+(i++)+(++i)怎么理解,输出P和i,

问题描述:

i=5,p=(i++)+(i++)+(++i)怎么理解,输出P和i,
1个回答 分类:综合 2014-11-06

问题解答:

我来补答
首先关于前++ 和 后++ ,你一定会知道的.
关键就在于 + 号的运算顺序.
还有++是对一块内存进行的操作.
好入正题:
第一个+号时 执行 (i++) + (i++)
此式说明两个 i++ 要在完成 加法运算符后进行 i++
就解释了 (i++) + (i++) 等同于 5 + 5
加过之后 i 的值变为 7 (经过两次++)
10 + (++i) 这就很简单了
10 + 8 = 18 嘛
要是不懂的话
可以继续问我
再问: 很感谢你的回答,能否继续询问下还有一个程序是j=5;q=(++j)+(++j)+(++j),能解释下么非常感谢,我知道的是j=8,但是q的值不知道怎么算,自己得出的是q=6+7+8,是这样么?因为++j是先执行j+1,再取J我这样的理解对么?
再答: 嗯 不知道我这么说你能不能理解 首先 + 号是双目运算符 (++i) + (++i) 在运算加号前i的值就已经加过两次了 ++i 前后操作的是同一块内存 确实第一次++i i=6 第二次 ++i i=7 但你注意前后的 ++i 所更改的是同一块内存, 也就是说在进行加法运算的时侯 内存中 i 的值已经变成 7 了 (++i ) + (++i) == 7 + 7 后面的你应该就知道了
再问: 根据您给出的意见最后我的运算结果为q=14+(++j)=14+8=22,但是真确结果是24,不知道为什么
再答: 抱歉我想我理解错了 我自己试了试 发现自己错了
 
 
展开全文阅读
剩余:2000
也许感兴趣的知识