📄 subject_45031.htm
字号:
<p>
序号:45031 发表者:江小刚 发表日期:2003-06-25 19:54:04
<br>主题:问题!
<br>内容:#include <stdio.h><BR> main()<BR>{<BR> int i,b,k=0;<BR> for(i=1;i<=5;i++)<BR> {<BR> b=i%2;<BR> while (b-->=0) k++;<BR> }<BR> printf("%d,%d",k,b);<BR>}<BR><BR>假如没有编译器,怎么推出结果来(答案是:8,-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>
<font color=red>答案被接受</font><br>回复者:_DAWN_ 回复日期:2003-06-25 22:05:45
<br>内容:<BR>i是1 3 5时 k被累加两次。i 是2 4是k被累加1次。<BR>所以 k = 2 + 2 + 2 + 1 + 1 = 8<BR><BR>最后一个循环中 b=5%2=1;<BR>k++累加两次后,b = -1;<BR>然后回到b-->=0执行,先判断b>=0吗?因为b=-1;所以不成立。<BR>然后执行 b--; 这时候。b = -2;<BR>因为条件判断不成立,所以退出了while循环;<BR>所以结果是8,-2<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:adam&amp;ancy 回复日期:2003-06-25 22:59:54
<br>内容:楼上的答案正确~^_^
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:江小刚 回复日期:2003-06-26 10:35:38
<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 + -