黑马程序员技术交流社区
标题:
a++和++a那个,有人能深入讲解下的吗?
[打印本页]
作者:
达摩八戒
时间:
2014-7-15 20:41
标题:
a++和++a那个,有人能深入讲解下的吗?
看了博客的文章,看了视频,还是稀里糊涂的, 现在是死记硬背下来的,但感觉还是没有彻底搞明白。囧。。。
作者:
丶白菜你个小番
时间:
2014-7-15 21:37
a反正是要加1,只是a++表达式的值为a,++a的表达式值为a+1
作者:
灰色头像
时间:
2014-7-15 21:47
a++,是先把a的值赋值给a++这个表达式后,a再自动加1。++a,是先把a的值加1后,再把a的值赋值给++a这个表达式!
视频里的a的值先给a++这个整体在运算,那么(a++)=10,在加1的话就是11。同理,++a就是12
b=10+12
作者:
斑马
时间:
2014-7-15 21:56
好像到后面的OC中,很少用到.....
作者:
此生逍遥
时间:
2014-7-15 21:57
+号在前面的是先加1在将a的值参与运算,+号在后面的是先将a参与运算,在然后加1
作者:
caopengxu
时间:
2014-7-16 16:57
“++a”是先+1再 进行其他运算,“a++”是先让a进行其他运算再+1。
作者:
努力微笑
时间:
2014-7-16 17:04
“++a”先加后用,“a++”先用后加
作者:
云霄之上
时间:
2014-7-16 17:24
你只要记者看到a++的时候当前的这个a还是没有+1的那个时候的值 而++a则是此时a就是+1之后的值就行了
作者:
yingzhuo1314
时间:
2014-7-16 17:24
a++先使用a的值再对其进行自加,++a则是先对a进行自加,在使用a的值,比如
#include <stdio.h>
void main()
{
int a=4;
printf("%d\n",a++); //输出结果为4
}
复制代码
#include <stdio.h>
void main()
{
int a=4;
printf("%d\n",++a);//输出结果为5
}
复制代码
作者:
zhuiyi007
时间:
2014-7-16 20:20
在一条语句中,++a就是先将a的值加1后在执行后面的语句,而a++就是先执行完这条语句,再对a的值加1
作者:
火拳
时间:
2014-7-23 10:59
这个跟java里的一样,a++表示先赋值在加一,++a表示先加一,在赋值
作者:
Jr_711
时间:
2014-7-23 16:52
(假设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)时的值
作者:
枫·殇
时间:
2014-7-23 22:07
不能死记的,只要看++的顺序就好,在前面的就先进行。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2