精华内容
下载资源
问答
  • C语言中逗号表达式

    2020-08-03 15:55:18
    本文介绍了C语言中逗号表达式的使用以及原则。
  • c语言提供一种特殊的运算符,逗号运算符,优先级别最低,它将两式联接起来,如:(3+5,6+8)称为逗号表达式,其求解过程先表达式1,后表达式2,整个表达式值是表达式2的值,如:(3+5,6+8)的值是14,(a=35,a4)的...

    转自某位大神

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

    逗号表达式的要领:

    1.从左到右逐个计算;

    2.逗号表达式作为一个整体,它的值为最后一个表达式的值;

    1. 逗号表达式的优先级别在所有运算符中最低。

    原文出处 https://blog.csdn.net/yqning123/article/details/81664853

    展开全文
  • 今天发现了逗号运算,不过好像谭浩强的书上没这种运算。例如(表达式1, 表达式2,表达式3,……表达式n),刚开始我认为最后结果只是最后一个表达式n的值,但现在遇到好几个疑惑了。 1、(a=3*5,a*4,a+5)),为什么...
  • C语言——逗号表达式

    千次阅读 2021-01-11 21:30:45
    C语言——逗号表达式 一、什么是逗号表达式     简单来说就是,逗号表达式C语言提供一种特殊的运算符——逗号运算符。它的优先级别最低,它将两个及其以上的式子联接起来,从左往右逐个计算...

    C语言——逗号表达式


    一、什么是逗号表达式

        简单来说就是,逗号表达式是C语言提供一种特殊的运算符——逗号运算符。它的优先级别最低,它将两个及其以上的式子联接起来,从左往右逐个计算表达式,整个表达式的值为最后一个表达式的值。

    下面通过一个典型程序来真切的了解一下逗号表达式的使用规则

    二、基本使用

    代码如下(示例):

    /* Note:Your choice is C IDE */
    #include "stdio.h"
    void main()
    {
        int a=0,b=0,x=0,y=0;
        //逗号表达式,结合顺序是从左至右,用来顺序求值,
        //完毕之后整个表达式的值是最后一个表达式的值
        
        a=(x=7,y=x%5,y+8);//7%5=2,此时y=2了,所以2+8=10  那么a=10
        (b=x=8,x%5),b%5,x%5;
        printf("%d,%d,%d,%d\n",a,b,x,y);//10,8,8,2
    }
    
    展开全文
  • C语言-逗号表达式

    2016-09-07 15:15:40
    称为逗号表达式,又称为“顺序求值运算符”。逗号表达式的一般形式为  表达式1,表达式2 逗号表达式的求解过程是:先求解表达式1,再求解表达式2。整个逗号表达式的值是表达式2的值。例如,上面的逗号表达式...
    C语言提供一种特殊的运算符——逗号运算符。用它将两个表达式连接起来。如:
    

      3+5,6+8

    称为逗号表达式,又称为“顺序求值运算符”。逗号表达式的一般形式为

             表达式1,表达式2

    逗号表达式的求解过程是:先求解表达式1,再求解表达式2。整个逗号表达式的值是表达式2的值。例如,上面的逗号表达式“3+5,6+8”的值为14。又如,逗号表达式
      a=3*5,a*4
    对此表达式的求解,读者可能会有两种不同的理解:一种认为“3*5,a*4” 是一个逗号表达式,先求出此逗号表达式的值, 如果a的原值为3,则逗号表达式的值为12,将12赋给a, 因此最后a的值为12。另一种认为:“a=3*5”是一个赋值表达式”,“a*4”是另一个表达式,二者用逗号相连,构成一个逗号表达式。这两者哪一个对呢?赋值运算符的优先级别高于逗号运算符, 因此应先求解a=3*5(也就是把“a=3*5”作为一个表达式)。经计算和赋值后得到a的值为15,然后求解a*4,得60。整个逗号表达式的值为60。
      一个逗号表达式又可以与另一个表达式组成一个新的逗号表达式,如(a=3*5,a*4),a+5 先计算出a的值等于15,再进行a*4的运算得60(但a值未变,仍为15),再进行a+5得20,即整个表达式的值为20。
      逗号表达式的一般形式可以扩展为

        表达式1,表达式2,表达式3……表达式n

    它的值为表达式n的值。

      逗号运算符是所有运算符中级别最低的。因此,下面两个表达式的作用是不同的:

      ① x=(a=3,6*3)
      ② x=a=3,6*a

      第①个是一个赋值表达式,将一个逗号表达式的值赋给x,x的值等于18。第②个是逗号表达式,它包括一个赋值表达式和一个算术表达式,x的值为3。

      其实,逗号表达式无非是把若干个表达式“串联”起来。在许多情况下,使用逗号表达式的目的只是想分别得到各个表达式的值,而并非一定需要得到和使用整个逗号表达式的值,逗号表达式最常用于循环语句(for语句)中.

      请注意并不是任何地方出现的逗号都是作为逗号运算符。例如函数参数也是用逗号来间隔的。如

      printf("%d,%d,%d",a,b,c);

      上一行中的“a,b,c”并不是一个逗号表达式,它是printf函数的3个参数,参数间用逗号间隔。
    如果改写为

      printf("%d,%d,%d",(a,b,c),b,c);

    则“(a,b,c)”是一个逗号表达式,它的值等于c的值。括弧内的逗号不是参数间的分隔符而是逗号运算符。括弧中的内容是一个整体,作为printf函数的一个参数。
    C语言表达能力强,其中一个重要方面就在于它的表达式类型丰富,运算符功能强,因而c使用灵活,适应性强
    展开全文
  • C语言逗号表达式

    2013-09-24 09:46:00
    如: 3+5,6+8称为逗号表达式,又称为“顺序求值运算符”。逗号表达式的形式如下: 表达式1,表达式2,表达式3,...... ,表达式n 逗号表达式的要领: (1) 逗号表达式的运算过程为:从左往右逐个计算...

     C语言提供一种特殊的运算符——逗号运算符。用它将两个表达式连接起来。如:

      3+5,6+8

    称为逗号表达式,又称为“顺序求值运算符”。逗号表达式的形式如下:

     

    表达式1,表达式2,表达式3,...... ,表达式n

     

     
    逗号表达式的要领:

     

    (1) 逗号表达式的运算过程为:从左往右逐个计算表达式。

     

    (2) 逗号表达式作为一个整体,它的值为最后一个表达式(也即表达式n)的值。

     

    (3) 逗号运算符的优先级别在所有运算符中最低。



    逗号表达式的求解过程是:先求解表达式1,再求解表达式2,知道最后。整个逗号表达式的值是表达式2的值。例如,上面的逗号表达式“3+5,6+8”的值为14。又如,逗号表达式
      a=3*5,a*4
    对 此表达式的求解,读者可能会有两种不同的理解:一种认为“3*5,a*4” 是一个逗号表达式,先求出此逗号表达式的值, 如果a的原值为3,则逗号表达式的值为12,将12赋给a, 因此最后a的值为12。另一种认为:“a=3*5”是一个赋值表达式”,“a*4”是另一个表达式,二者用逗号相连,构成一个逗号表达式。这两者哪一个对 呢?赋值运算符的优先级别高于逗号运算符, 因此应先求解a=3*5(也就是把“a=3*5”作为一个表达式)。经计算和赋值后得到a的值为15,然后求解a*4,得60。整个逗号表达式的值为 60。
      一个逗号表达式又可以与另一个表达式组成一个新的逗号表达式,如(a=3*5,a*4),a+5 先计算出a的值等于15,再进行a*4的运算得60(但a值未变,仍为15),再进行a+5得20,即整个表达式的值为20。
      逗号表达式的一般形式可以扩展为

        表达式1,表达式2,表达式3……表达式n

    它的值为表达式n的值。

      逗号运算符是所有运算符中级别最低的。因此,下面两个表达式的作用是不同的:

      ① x=(a=3,6*3)
      ② x=a=3,6*a

      第①个是一个赋值表达式,将一个逗号表达式的值赋给x,x的值等于18。第②个是逗号表达式,它包括一个赋值表达式和一个算术表达式,x的值为3。

      其实,逗号表达式无非是把若干个表达式“串联”起来。在许多情况下,使用逗号表达式的目的只是想分别得到各个表达式的值,而并非一定需要得到和使用整个逗号表达式的值,逗号表达式最常用于循环语句(for语句)中.

      请注意并不是任何地方出现的逗号都是作为逗号运算符。例如函数参数也是用逗号来间隔的。如

      printf("%d,%d,%d",a,b,c);

      上一行中的“a,b,c”并不是一个逗号表达式,它是printf函数的3个参数,参数间用逗号间隔。
    如果改写为

      printf("%d,%d,%d",(a,b,c),b,c);

    则“(a,b,c)”是一个逗号表达式,它的值等于c的值。括弧内的逗号不是参数间的分隔符而是逗号运算符。括弧中的内容是一个整体,作为printf函数的一个参数。
    C语言表达能力强,其中一个重要方面就在于它的表达式类型丰富,运算符功能强,因而c使用灵活,适应性强

    转载于:https://www.cnblogs.com/canxuexiecheng/articles/3336290.html

    展开全文
  • C语言逗号表达式

    2017-04-17 22:50:07
    逗号运算符的优先级是级别最低的,结合性自左... 注意要关注逗号表达式中的表达式。 #include <stdio.h>void main() { int i,j; int a,b; a = 10, b = 10, j = 10; i = ( j++, j+100, 999 + j ); //先计算j++得到j=1
  • if(n==0,n==1)f=1 ...我记得c语言里面逗号表达式的值是最后一个式子的值,如果是这样的话n==0不就没有用了吗??![图片说明](https://img-ask.csdn.net/upload/201511/21/1448085604_241054.jpg)
  • 思考如下代码, 思考一下, 印象更深刻哦! #include <stdio.h> int main(void) { ...a = 0是逗号左边的一条表达式, 1是逗号表达式的右边一条表达式, 有点神奇 再来看一个特殊的地方: 是考一下如下代码:.
  • C语言逗号表达式

    2013-01-27 17:15:53
    一个表达式最后肯定有一个值,如算术表达式,关系表达式等,因此逗号表达式也有一个值,这个值为逗号表达式的最后一个表达式的值。一个简单的测试程序可以说明这一点: #include int main(void) { int a = 1...
  • c语言中逗号运算符和逗号表达式  C语言提供一种特殊的运算符——逗号运算符。用它将两个表达式连接起来。如: 3+5,6+8称为逗号表达式,又称为“顺序求值运算符”。逗号表达式的一般形式为 表达式1,...
  • C语言中逗号运算符和逗号表达式

    千次阅读 多人点赞 2017-12-14 22:52:00
    称为逗号表达式,又称为“顺序求值运算符”。逗号表达式的一般形式为  表达式1,表达式2 逗号表达式的求解过程是:先求解表达式1,再求解表达式2。整个逗号表达式的值是表达式2的值。例如,上面的逗号表达式...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 31,139
精华内容 12,455
关键字:

c语言中逗号表达式

c语言 订阅