赋值运算符与赋值表达式

1. 赋值运算符=的优先级仅高于逗号运算符

2. 赋值运算符的结合顺序自右向左,先计算=右边的表达式的值,再把这个值赋给左边的变量

3. 赋值表达式最终的值为=左边变量中的值

#include <stdlib.h>
#include <stdio.h>

int main(void)
{
    int a, b;
    a = (b=7);
    printf("a=%d\n", a); 
    printf("b=%d\n", b);                                                                                                
    return 0;
}
=================================
a=7
b=7

real    0m0.010s
user    0m0.000s
sys 0m0.000s

请按 ENTER 或其它命令继续

4. 复合赋值运算符+=, -=, *=, /=, %=的优先级与赋值运算符=一样

变量a的值为9,计算表达式a+=a-=a+a的值

  1. +=-=的优先级一样,都是自右向左的结合顺序,所以首先计算a+a的值,为18
  2. 接下来计算a-=18,结果为a的值变成-9,表达式的值也是-9
  3. 最后计算a+=-9,注意此时a的值为-9,所以最后结果为-18
#include <stdlib.h>
#include <stdio.h>

int main(void)
{
    int a = 9;
    printf("%d\n", a+=a-=a+a);
    return 0;
}       
=================================
-18

real    0m0.023s
user    0m0.000s
sys 0m0.010s

请按 ENTER 或其它命令继续

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 9,731评论 0 13
  • 一、算数运算符和算数表达式 基本的算数运算符包括加减乘除四则运算符和求余运算符: +:加法运算符,双目运算...
    小辰带你看世界阅读 5,659评论 0 2
  • 运算符是处理数据的基本方法,用来从现有的值得到新的值。JavaScript 提供了多种运算符,本章逐一介绍这些运算...
    徵羽kid阅读 4,012评论 0 0
  • 首先淫欲是人的本能,我们因其出现发生而来,再由精神耗光而死,可是为什么呢。 孔子说:“饮食男女,人之大欲。”...
    尔有铂我有玉阅读 4,251评论 1 1
  • 这本书是知乎推荐的,后来看到豆瓣评分达到9.0(好高啊)再加上本身对社会中人与人关系的规律比较感兴趣,就从校图书馆...
    LoganA阅读 4,712评论 0 6

友情链接更多精彩内容