黑马程序员技术交流社区

标题: 请问a++和++a的区别 [打印本页]

作者: 丶白菜你个小番    时间: 2014-7-5 22:10
标题: 请问a++和++a的区别
本帖最后由 丶白菜你个小番 于 2014-7-8 13:07 编辑

a++和++a的区别
作者: zj372498081    时间: 2014-7-5 22:16
都是本身值做加一;
区别在于:
a++ 是运算完成后做加一操作,++a 是运算前就做加一操作;
例如:
int a = 1;
int  b = 1;   
那么  ,
int   c  = a ++ + b ;  
int  d = a ++ +  ++b;

结果  c =  2,   d = 4.
作者: zj372498081    时间: 2014-7-5 22:19
zj372498081 发表于 2014-7-5 22:16
都是本身值做加一;
区别在于:
a++ 是运算完成后做加一操作,++a 是运算前就做加一操作;

  后面补充, a = 3 , b = 2.  
作者: 骑着飞机去看海    时间: 2014-7-5 22:21
我不知道你问的事不是那个a++  +   ++a的那个那个是10哪个是12??
作者: 幕夏    时间: 2014-7-5 22:23
a++.因为a在++之前,所以a先在当前语句使用完后再执行a自加1。++a.因为a在++之后,所以a先自加1然后再在当前语句使用。例如
  1. #include <stdio.h>

  2. int main(int argc, char *argv[])
  3. {
  4.         int a=1,b=1;
  5.         printf("%d\n",a++);
  6.         printf("%d\n",a);
  7.         printf("%d\n",++b);
  8.         printf("%d\n",b);
  9.         return 0;
  10. }
复制代码

作者: 努力微笑    时间: 2014-7-5 23:37
楼上正解 自己在这点上开始也是很迷惑的~
作者: 周田金    时间: 2014-7-6 00:05
楼上正解~蹭个助攻~
作者: 零下_1°    时间: 2014-7-6 08:05
a++,先使用a,过后再加1,++a,先加1赋值给a,过后再使用
作者: Emy♪    时间: 2014-7-6 17:23
。。。。。。。。。。
总之记住,有++自增字符,则a完事后肯定是+1的。
只是a++ 此时用到的是a的值,++a此时用到的是a+1的值。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2