wintersnow911 发表于 2005-5-1 18:17

c++的基础问题

<P> <FONT face=Arial color=black>Q: what is the output of the following?
int n=1
do
cout &lt;&lt; n ;
while(++n&lt;=3) </FONT></P>
<P><FONT face=Arial color=black>
小弟刚开始学c++,这个问题我怎么想答案都是
1 2
但书上的答案却是
1 2 3

郁闷,望高手们不吝赐教,多谢。</FONT></P>

ilikenba 发表于 2005-5-1 23:22

<P>确实是1,2,3,你应该实际运行一下就知道了!注意++和&lt;=的优先级!</P>

wintersnow911 发表于 2005-5-2 09:11

<P>但是当n=3时,++n==4不符合条件了啊</P>

ilikenba 发表于 2005-5-2 14:25

它是先做n&lt;=3的判断,然后再n=n+1的,所以n=3的时候仍然符合if的条件,注意++的优先级不强!

laa 发表于 2005-5-5 11:23

<P>应该注意 do while循环和while的区别!!!</P>

skiller 发表于 2005-5-6 16:42

<P>do while 是先运算然后判断条件~!与while的区别往往很容易迷惑人。</P>
页: [1]
查看完整版本: c++的基础问题