📄 subject_14912.htm
字号:
<p>
序号:14912 发表者:超超 发表日期:2002-09-12 16:02:39
<br>主题:小问题!
<br>内容:#include <iostream.h><BR>void main()<BR>{<BR> int x,y,z;<BR> x=y=z=1;<BR> --x&&++y&&++z;<BR> cout<<x<<'\t'<<y<<'\t'<<z<<'\n'<BR>}<BR>该程序的结果是:<BR>0 1 1<BR>为什么不是:<BR>0 2 2<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-09-12 16:13:50
<br>内容:++y的含义是先运算,后加1,所以为0,1,1
<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-09-12 16:24:48
<br>内容:可是y已经是赋了初值的,本就是1,如果先运算后赋值的话应该是2
<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>回复者:seagullcao 回复日期:2002-09-12 17:18:03
<br>内容:这个问题是由于逻辑运算符的特点造成的,在&&所连接的表达式中,如a&&b&&c:若a=0,则整个表达式运算结果为0,不需要进行后面的运算。<BR>你的例子中就存在这个问题,你可以试着颠倒一下顺序,如:++y&&++z&&--x;这样就会运算完3个表达式,而得到:2,2,0,这也是c语言高效的一个表现.
<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 + -