zoukankan      html  css  js  c++  java
  • 逗号表达式的使用

    逗号操作符,是优先级最低的一个。

    eg1:

    #include<stdio.h>
    
    int main()
    {
        int a,b;
        a=b=1;
        b=a++,b++,++a;
        printf("b=%d
    ",b);
       return(0);
    }

    eg2:

    #include<stdio.h>
    
    int main()
    {
        int a=8;
        printf("%d",(a=3*5,a*4));
       return(0);
    }

    c语言提供一种特殊的运算符,逗号运算符,优先级别最低,它将两式联接起来,如:(3+5,6+8)称为逗号表达式,其求解过程先表达式1,后表达式2,整个表达式值是表达式2的值,如:(3+5,6+8)的值是14。(a=3*5,a*4)的值是60

    表达式说明
    表达式1,表达式2,表达式3,...... ,表达式n
    逗号表达式的要领:
    (1) 逗号表达式的运算过程为:从左往右逐个计算表达式。
    (2) 逗号表达式作为一个整体,它的值为最后一个表达式(也即表达式n)的值。
    (3) 逗号运算符的优先级别在所有运算符中最低。

    这样eg2输出60就没有疑问了,那么eg1呢?

    eg1中,先执行 b=a++ ,此时 b 为 1 。 然后 b++ ,所以 b 的值 最终为 2。

    逗号操作符,让运算顺序有了先后,故看到a++和++a在同一表达式中时不要以为是UB。

  • 相关阅读:
    数论
    平衡树
    矩阵儿快速幂
    分治
    考试
    考试
    匈牙利算法
    SPFA
    倍增
    MySql 技术内幕 (数据库组成和引擎)
  • 原文地址:https://www.cnblogs.com/yangguang-it/p/7294491.html
Copyright © 2011-2022 走看看