请稍等 ...
×

采纳答案成功!

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

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

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

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

插入代码

1回答

bennyhuo 2025-01-04 21:43:59

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

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

0 回复 有任何疑惑可以回复我~
  • 提问者 张婧仪 #1
    老师,对于++pa = &a,既然C语言不允许,C++允许,是不是就能说明左值和右值的区分界限不明显呢???
    回复 有任何疑惑可以回复我~ 2025-01-04 22:30:55
  • bennyhuo 回复 提问者 张婧仪 #2
    这两门语言有细节上的差异,倒也不是不明显。
    回复 有任何疑惑可以回复我~ 2025-01-07 18:00:23
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号