i = ++i + ++i

Posted 12man

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了i = ++i + ++i相关的知识,希望对你有一定的参考价值。

i = 2;
i = i++ + ++i;
结果输出6,从左到右算,i++之后i为3,后边++i之后,i为4
但i++取的是旧值2,所以2+4= 6

i = ++i + i++;
结果为7,这就很容易困惑,其实只要记得++i的时候,i取得是最新的值,所以++i之后,i为3,后边i++之后i为4,但取旧值3,前边的++i取新值4,所以结果3+4 = 7

这么说你可能不信,接着看
i = ++i + ++i;
结果为8,两个都是++i,都取新值,所以4+4 = 8  郑州胎记医院哪家好 http://www.zykdyjyy.com/

i = ++i + ++i + ++i;
如果按照上边的思路,结果为15,可惜不是,首先这里两个+运算符,一个+运算符当作一个小整体,所以前边两个++i相加结果依旧为8,后边++i之后i为5,调用第二个+运算符,8+5 = 13

i = i++ + ++i + ++i;呢
相信你已经明白了,没错,是11,第一个+号,结果如上,为6,第二个+号运算符则为6+5 = 11

以上是关于i = ++i + ++i的主要内容,如果未能解决你的问题,请参考以下文章

2.3 i++/i--与++i/--i的运算

你真的了解 i++, ++i 和 i+++++i 以及 i+++i++ 吗?

关于++i,--i,i++,i--

int i=i++;和i=++i;和i++

关于 i++ 与 ++i

i=i+1 i++ ++I的区别?