📄 subject_17301.htm
字号:
<p>
序号:17301 发表者:胖丁 发表日期:2002-10-10 10:54:46
<br>主题:++i 的怪问题
<br>内容:int i=7;<BR>int j;<BR>j=(++i)+(++i);<BR>为什么结果会是18???<BR>请教给位高手,谢谢了!
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:倚天剑 回复日期:2002-10-10 10:58:34
<br>内容:我在TC3.0下编译,结里是16,你是怎么作的?好好检查一下。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:CDMA2000 回复日期:2002-10-10 11:00:51
<br>内容:先在表达式中执行i的两次自加变成9,然后在进行的表达式求值<BR>即9+9=18
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:dreamer 回复日期:2002-10-10 11:07:53
<br>内容:vc下编译结果为16!!!!!!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:CDMA2000 回复日期:2002-10-10 11:11:18
<br>内容:vc下编译结果为18!!!!!!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:倚天剑 回复日期:2002-10-10 11:35:53
<br>内容:你再好好看一下书中关于++的部分:<BR> int i=7; <BR> j=i++; //j的值是7,i是8<BR><BR>//再来试一下: <BR> i=7;<BR> j=(i++); //j的值还是7,i还是8<BR><BR>//重试一下<BR> i=7;<BR> j=(++i); //j的值是8,i是8<BR><BR><BR><BR>/*所以j=(++i)+(i++)中(++i)执行后的值是8,i加1后也是8; 然后 (i++)没执行时i是8,表达式(i++)执行后的值是8,但执行后i又加1,变为9. j=8+8=16 */
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:子龙 回复日期:2002-10-10 11:51:15
<br>内容:括号的优先级别高。为18或16都是正确答案。要看编译器如何工作了。<BR>转为汇编语言<BR>例如:<BR>mov temp_i_1,i<BR>mov temp_i_2,i<BR>adc temp_i_1<BR>adc temp_i_2<BR>add temp_i_1,temp_i_2<BR>就是16<BR>而:<BR><BR>adc i<BR>adc i<BR>mov temp_i,i<BR>add temp_i,i<BR>就是18<BR><BR>如果有人用这道题目考你只能说明他蠢。<BR>我的建议:一个程序员不要将++,-- 等一员运算和其他运算混用。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -