首页 > 编程语言 > 详细

【C语言】++(a++)的写法是错的

时间:2015-10-18 21:30:07      阅读:231      评论:0      收藏:0      [点我收藏+]

http://bbs.csdn.net/topics/390764053

a++得到的是一个右值,++操作需要的是一个左值。

------------------------------------------------------

a++返回的是一个右值,不对再++了,可以写成
++(++a)

 

http://www.2cto.com/kf/201409/333447.html

a++的意思是先复制一份临时数据出来参与周边环境的运算,再自加变量a,可见a++用来参与运算的是一份复制出来的临时数据,这个数据是临时存在而没有固定地址的,不是一个真正的变量。++a的意思是先自加变量a,再将变量放到周边环境参与运算,那么++a用来参与运算的是有具体地址的变量,所以++a是可以作为左值使用的。

在具体一点可以理解为:

a++返回一个临时变量

++a返回变量的引用

 

【C语言】++(a++)的写法是错的

原文:http://www.cnblogs.com/dplearning/p/4890194.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!