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

来源:7-5 左值和右值【只需记住这两点】

张婧仪

2025-01-04

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

写回答

1回答

bennyhuo

2025-01-04

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

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

0
2
bennyhuo
回复
张婧仪
这两门语言有细节上的差异,倒也不是不明显。
2025-01-07
共2条回复

C语言系统化精讲 重塑编程思想 打造坚实的开发基础

如果通向大牛的道路有捷径,那就是先学好C语言

2208 学习 · 853 问题

查看课程