当前位置:网站首页>a += 1 += 1为什么是错的?
a += 1 += 1为什么是错的?
2022-08-08 13:30:00 【LeePlace】
首先给出下面的代码:
int main() {
int a = 1;
int b = 1;
a += b += 1;
printf("a = %d\n", a);
printf("b = %d\n", b);
return 0;
}
运行结果如图:
通过运行结果可以很容易推断出:a += b += 1 <=> a += (b += 1)
现在解决一开始的问题,a += 1 += 1
为什么是错的?
很明显,由上述的推断可知上面的表达式等价于a += (1 += 1)
这个表达式会先运算 1 += 1
,
而 1 += 1
等价于 1 = 1 + 1
,
等价后的表达式意味着把 1 + 1 的结果赋值给左操作数1 ,
左操作数1是个常量,常量是无法被赋值的,
自然而然的这个表达式就是错的。
总结一下,上面表达式错误的根本原因是给常量赋值,因为像 += 、-= 、*=、 /=、 %= 之类的操作符是具有赋值功能的。
边栏推荐
- KD-SCFNet:通过知识蒸馏实现更准确、更高效的显着目标检测(ECCV2022)
- R语言ggplot2可视化:使用ggpubr包的ggline函数可视化折线图(点线图、line plot)、设置add参数为mean可视化不同水平均值的折线图
- 代码随想录笔记_动态规划_322零钱兑换
- 【C语言】文件相关操作
- 2022-08-05
- 【Rust—LeetCode题解】1408.数组中的字符串匹配
- 【软考 系统架构设计师】软件架构设计⑦ 构件与中间件技术
- “自降估值”3个亿的咖啡独角兽要IPO了
- PE文件-手工修改重定位表-WinHex-CFF Explorer
- C语言的三个经典题目:三步翻转法、杨氏矩阵、辗转相除法
猜你喜欢
南非 KMP 媒体集团实施了 DMS(文档管理系统)使流程数字化,员工可以再次专注于他们的实际任务,提供了效率
Jenkins - Introduction to Continuous Integration (1)
idea中项目呈现树形结构
干货满满,中科院信工所于静新课帮你get学术研究与论文写作技能
Full of dry goods, Yu Jingxin class of the Institute of Information Technology, Chinese Academy of Sciences will help you get academic research and thesis writing skills
qsort 函数的使用及其模拟实现
Program Environment and Preprocessing
活动报名| StreamNative 受邀参与 ITPUB 在线技术沙龙
Jenkins - install (2)
【C语言】自定义类型详解:结构体、枚举、联合
随机推荐
2022-08-05
(7)FlinkSQL将kafka数据写入到mysql方式二
R语言ggplot2可视化:使用ggpubr包的ggbarplot函数可视化堆叠的柱状图(stacked bar plot)、palette参数自定义不同水平柱状图边框以及填充的颜色
R语言ggpubr包的ggsummarystats函数可视化分面箱图(通过ggfunc参数和facet.by参数设置)、添加描述性统计结果表格、palette参数配置不同水平可视化图像和统计值的颜色
【Personal Summary】2022.8.7 Week End
UnsatisfiedDependencyException: Error creating bean with name ‘
今日睡眠质量记录83分
【软考 系统架构设计师】软件架构设计⑥ 软件产品线
R语言使用位置索引筛选dataframe的数据列:筛选单个数据列、筛选多个数据列、列表表达式方法、矩阵式下标方法
字符串函数、字符函数、内存函数的使用及其模拟实现
Full of dry goods, Yu Jingxin class of the Institute of Information Technology, Chinese Academy of Sciences will help you get academic research and thesis writing skills
[C language] Dynamic memory management
Jenkins - install (2)
[C language] file related operations
C语言小项目 -- 通讯录(静态版+动态版+文件版)
The use of string function, character function, memory function and its analog implementation
【Rust—LeetCode题解】1408.数组中的字符串匹配
(4) FlinkSQL writes socket data to mysql Method 1
论文理解:“Self-adaptive loss balanced Physics-informed neural networks“
bzoj 3624 [Apio2008]免费道路