编程论坛's Archiver

tank266 发表于 2007-11-21 01:51

[求助]++,--问题。菜鸟求助~

<P>#include&lt;stdio.h&gt;<BR>void main()<BR>{</P>
<P>  int i=8;</P>
<P>  printf("%d\n",++i);</P>
<P>  printf("%d\n",--i);</P>
<P>  printf("%d\n",i++);</P>
<P>  printf("%d\n",i--);</P>
<P>  printf("%d\n",-i++);</P>
<P>  printf("%d\n",-i--);</P>
<P> }  </P>
<P>输入9 8 8 9 -8 -9。请帮忙一个一个说明下谢谢,<BR>我的理解是9 7 8 8 -7 -9</P>

RingFinger 发表于 2007-11-21 09:42

<STRONG>我也想知道` 看这贴快落了` 顶一下`</STRONG>

tank266 发表于 2007-11-21 10:51

<P>没人。。。</P>

米车阿里 发表于 2007-11-21 11:00

<P>这是前置++,--与后置++,--的问题,<BR>前置++,--先加一后做运算<BR>后置++,--先运算后做加一,<BR></P>
<P>所以第一个++i,输出9,8先加1,在输出9,不知道这样说是不是明白</P>

beigong 发表于 2007-11-21 11:05

好象就是++i和i++的区别,一个先加在显示,一个显示i在加嘛。

bozl 发表于 2007-11-21 12:14

i的值会随着程序的运行而改变.<BR>也就是说i的初始值为8.<BR>进行到--i的时候,i的值为9,--i的时候又为8<BR>同理...<BR>下面的都一样

jshkuang 发表于 2007-11-21 13:37

1)i=8 printf("%d\n",++i); 此时表达式++i的值9,输出,i的值变为9<BR>2)i=9 printf("%d\n",--i); 此时表达式--i的值8,输出,i的值变为8<BR>3)i=8 printf("%d\n",i++); 此时表达式i++的值8,输出,i的值变为9<BR>4)i=9 printf("%d\n",i--); 此时表达式i--的值9,输出,i的值变为8<BR>5)i=8 printf("%d\n",-i++);此时表达式-i++为-8,输出,i的值变为9   /*-i++相当于-(i++)*/<BR>6)i=9 printf("%d\n",-i--);此时表达式-i--为-9,输出,i的值变为8<BR><BR>总之:类似i++,可以理解为表达式i++的值和变量i的值即可<BR><BR><BR><BR>

meai 发表于 2007-11-21 13:50

回复:(米车阿里)这是前置++,--与后置++,--的问题...

简单易懂[em30][em30]

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.