c语言中为什么后置++是一个右值,详细一点,谢谢
答案:2 悬赏:80 手机版
解决时间 2021-03-09 01:51
- 提问者网友:心牵心
- 2021-03-08 22:10
c语言中为什么后置++是一个右值,详细一点,谢谢
最佳答案
- 五星知识达人网友:山河有幸埋战骨
- 2021-03-08 23:07
举例来说吧。
a++ 等价于: a, a = a+1。可以看出首先取得的是变量a,
++a 等价于: a + 1, a。 这里首先得到是一个表达式,而c语言不能对一个表达式赋值。
这就是为 ++a 什么是g 一个右值的原因。
a++ 等价于: a, a = a+1。可以看出首先取得的是变量a,
++a 等价于: a + 1, a。 这里首先得到是一个表达式,而c语言不能对一个表达式赋值。
这就是为 ++a 什么是g 一个右值的原因。
全部回答
- 1楼网友:动情书生
- 2021-03-09 00:13
a++执行顺序不是先返回a,然后a=a+1吗
这是对的,
但a++这个表达式的值是a之前的值,不是a+1后的值,也就是说,a++这个表达式的结果,已经不与a同步了
既然不与a同步,那么它就不是对象a,也不能取得其地址,它只是一个值,不是对象了,
所以它是右值
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯