A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

看了博客的文章,看了视频,还是稀里糊涂的, 现在是死记硬背下来的,但感觉还是没有彻底搞明白。囧。。。

12 个回复

正序浏览
不能死记的,只要看++的顺序就好,在前面的就先进行。
回复 使用道具 举报
(假设a初始值为5)

a++就是这次用的就是5,用完后给a加上1,下次使用a的值就是6

++a就是先给5加上1,这次使用的就是6,下次使用a的值是6


打个比方:

你拿到个篮子,根据不同要求数里面有几个杯子,篮子里原有5个杯子,

a++就是直接数,它就有5个,数完后你要往里面放1个杯子(等下个人来数时就是6个,然后他数完再往里放一个,以此类推。。。)

++a就是你拿到篮子后二话不说先放进去一个杯子,然后再数有几个杯子,这里就是6个杯子(等下个人来数也是先放进去1个杯子再数,就是7个,以此类推。。。)

你数的数就是这次使用的a++(或++a)的值,下个人数的数就是再次使用a++(或++a)时的值
回复 使用道具 举报
这个跟java里的一样,a++表示先赋值在加一,++a表示先加一,在赋值
回复 使用道具 举报
在一条语句中,++a就是先将a的值加1后在执行后面的语句,而a++就是先执行完这条语句,再对a的值加1
回复 使用道具 举报
a++先使用a的值再对其进行自加,++a则是先对a进行自加,在使用a的值,比如
  1. #include <stdio.h>
  2. void main()
  3. {
  4.         int a=4;
  5.         printf("%d\n",a++); //输出结果为4
  6. }
复制代码
  1. #include <stdio.h>
  2. void main()
  3. {
  4.         int a=4;
  5.         printf("%d\n",++a);//输出结果为5
  6. }
复制代码
回复 使用道具 举报 1 0
你只要记者看到a++的时候当前的这个a还是没有+1的那个时候的值 而++a则是此时a就是+1之后的值就行了
回复 使用道具 举报
“++a”先加后用,“a++”先用后加
回复 使用道具 举报
“++a”是先+1再 进行其他运算,“a++”是先让a进行其他运算再+1。
回复 使用道具 举报
+号在前面的是先加1在将a的值参与运算,+号在后面的是先将a参与运算,在然后加1
回复 使用道具 举报
好像到后面的OC中,很少用到.....
回复 使用道具 举报
a++,是先把a的值赋值给a++这个表达式后,a再自动加1。++a,是先把a的值加1后,再把a的值赋值给++a这个表达式!
视频里的a的值先给a++这个整体在运算,那么(a++)=10,在加1的话就是11。同理,++a就是12
b=10+12
回复 使用道具 举报
a反正是要加1,只是a++表达式的值为a,++a的表达式值为a+1
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马