当前位置: 代码迷 >> C语言 >> C程序 A++问题
  详细解决方案

C程序 A++问题

热度:205   发布时间:2006-02-12 14:03:00.0
C程序 A++问题
main()
{
int a,b=0;
for(a=1; a<=3; a++)
b++;
printf("a=%d,b=%d\n",a,b);
}

上面的a++,b++换成++a,++b,出来四种情况,结果都是一样。

昨地回事?


----------------解决方案--------------------------------------------------------
这个,需要说明的是 ++ -- 运算符 出现在长表达式才有意义;

----------------解决方案--------------------------------------------------------
这里没有前后的区别啊...................
----------------解决方案--------------------------------------------------------
++x 是先自增然后参与运算
x++ 是先运算然后自增

如:x=1;
y=x++; y=1 运行完这句 x=2
y=++x; y=2 x=2
----------------解决方案--------------------------------------------------------
a++ 就相当于 a=a+1
++a 则相当于 结果等于a+1, 但 a仍等a.

这个.....??
----------------解决方案--------------------------------------------------------

2楼 最能说明这个问题。。。明查


----------------解决方案--------------------------------------------------------
以下是引用刘半仙在2006-2-12 14:11:00的发言:
++x 是先自增然后参与运算
x++ 是先运算然后自增

如:x=1;
y=x++; y=1 运行完这句 x=2
y=++x; y=2 x=2

咦,按我的理解

y=++x y=2没错, x应等1.

原来,X也要自增么?
----------------解决方案--------------------------------------------------------
a++ 和 ++a 都相当与 a=a+1不过加1的时机不一样,前者是先参与运算,然后自己再加1,后者是先自己加1然后再参与运算~

就你给的代码中由于a++ 和++a都是独立的表达式没有其他运算了,所以导致结果一样~
----------------解决方案--------------------------------------------------------
谢谢,问题明白.

不管 x++ ++x x都要自增且x相等,但x++与++y的结果不一样
----------------解决方案--------------------------------------------------------
to 楼主:论坛中有关于i++,++i,i--,--i的具体说明,
搜索一下就行了,我就不说了。
----------------解决方案--------------------------------------------------------

  相关解决方案