请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,关于问答区一个问题

https://coding.imooc.com/learn/questiondetail/4daeR64p3Gz6nWEp.html
老师,您在这个链接的回答让我有些疑问。
是这个同学问错了?还是您回答错了?
为啥我在自己的机器上(MinGW,MSVC,WSL)都无法赋值,而这个同学说++pa=&a可以赋值,我的机器不行啊!如图
图片描述

正在回答 回答被采纳积分+3

1回答

bennyhuo 2天前

感谢同学发现这个问题哈。

那位同学应该是用 C++ 编译器编译的,++pa = &a 在 C++ 里面是合法的,不过 C 语言里面是不允许的。这确实是一个比较细节的问题,从实际效果上来看,C 语言中 ++pa 也可以认为是右值(因为无法修改),而 C++ 里面则确实是左值。

0 回复 有任何疑惑可以回复我~
  • 提问者 相信光变成光 #1
    老师,对于++pa = &a,既然C语言不允许,C++允许,是不是就能说明左值和右值的区分界限不明显呢???
    回复 有任何疑惑可以回复我~ 2天前
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信