注册 登录
编程论坛 C++教室

我是c++新手,请问一下前自增操作符a++和后自增操作符++a是一样的吗

吴素雪 发布于 2012-03-04 14:48, 1698 次点击
我是c++新手,请问一下前自增操作符a++和后自增操作符++a是一样的吗
9 回复
#2
风雨中慢步2012-03-04 17:09
这个当然不一样了
a++是先使用a的值后,再执行a=a+1;
而++a是先执行a=a+1后,在使用a的值
#3
大剑2012-03-04 17:54
main( )
 
{  

   int x,y,z;
 
   x=y=2;z=3;
 
 y=x++-1;printf("%d\t%d\t",x,y);  /*x=3,y=1,后置++,先把x赋值给y,再做运算,而x的值无论是前还是后置都加1*/
 
 y=++x-1;printf("%d\t%d\t",x,y);/*x=4,y=3,前置++,先把x加1后赋值给y,然后做运算(此行x初值是上行的终值=3)*/
 
  y=z--+1;printf("%d\t%d\t",z,y);   /*z=2,y=4,同上理可知*/
 
  y=--z+1;printf("%d\t%d\t",z,y);   /*z=1,y=2,同理可证*/
 
                        getch();  }
#4
narutosusdo2012-03-04 19:25
回复 3楼 大剑
第一句的是吧x++赋给y了, 为什么不是把x++-1赋值给y呢?
#5
捉迷藏2012-03-04 20:17
不同,a++是后加,后加是先赋值再加;++a是前加,前加是先加后赋值结果不同的。
a--和--a也是如此
#6
BianChengNan2012-03-05 13:05
以下是引用吴素雪在2012-3-4 14:48:19的发言:

我是c++新手,请问一下前自增操作符a++和后自增操作符++a是一样的吗
楼主需要细心点啊,问题本身表述有错误,前自增操作符a++ (。。。)
单独来说没什么区别,放到语句中会有区别。
#7
许爱砍2012-03-05 19:29
,哦有点明白了。
#8
吴素雪2012-03-05 22:09
回复 6楼 BianChengNan
谢谢你哦,是有点粗心,呵呵
#9
华夏吾爱2012-03-06 10:17
怎么这里还有用C习惯写的程序啊,
#10
非死亡!2012-03-06 22:56
最好不要纠结这样的问题  没有多大的意义  你想啊  在真是的编程中  谁会没事写前又写后啊  没有效率的
1