c - 为什么这是无效的 C 代码?
问题描述
如果x
是 type int
,据我所知,++x
是一个左值,所以
++x = 5;
已验证。但是编译器不喜欢它。这几天
左值需要作为赋值的左操作数
这里发生了什么?不是++x
左值吗?
解决方案
++x 模糊地转换为 x = x + 1。它不充当左值(在 C 中),因此您不能为其分配任何值。
推荐阅读
- javascript - 用函数中的数组替换现有数组
- eclipse - 如何在现有项目的 Eclipse 中从 GitLab 中拉出新分支
- r - 将 brew 安装的 openblas 链接到 /usr/local
- java - 在spring应用程序中使用hibernate自动创建表
- go - Go 模块替换为本地模块的特定版本
- javascript - 将列表从视图上下文传递到模板并将其分配为模板中的数组
- python-3.x - Python - 线程占用过多的 CPU
- keras - 在给定非文本序列数据的情况下,用于多类分类的 LSTM 的 y-train 的形状应该是什么?
- python - 如何根据列表给出的键获取嵌套字典中的值?
- c - SIMD - AVX - 使用非零值而不是最高位进行掩码