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

    2013-01-27 17:15:53
    一个表达式最后肯定有一个值,如算术表达式,关系表达式等,因此逗号表达式也有一个值,这个值为逗号表达式的最后一个表达式值。一个简单测试程序可以说明这一点: #include int main(void) { int a = 1...
    一个表达式最后肯定有一个值,如算术表达式,关系表达式等,因此逗号表达式也有一个值,这个值为逗号表达式的最后一个表达式的值。一个简单的测试程序可以说明这一点:
    #include <stdio.h>


    int main(void)
    {
    int a = 1, b = 0;
    if (a, b, 0) {


    printf("True\n");
    }
    else
    printf("False\n");


    return 0;




    }


    结果打印为False.
    展开全文
  • C语言逗号表达式

    2020-08-03 15:55:18
    本文介绍了C语言逗号表达式的使用以及原则。
  • C语言——逗号表达式

    2021-01-11 21:30:45
    简单来说就是,逗号表达式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语言提供一种特殊运算符,逗号运算符,优先级别最低,它将两式联接起来,如:(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

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

    2016-09-07 15:15:40
    C语言提供一种特殊的运算符——逗号运算符。用它将两个表达式连接起来。如:  3+5,6+8 称为逗号表达式,又称为“顺序求值运算符”...例如,上面的逗号表达式“3+5,6+8”的值为14。又如,逗号表达式  a=3*5,
    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使用灵活,适应性强
    展开全文
  • if(n==0,n==1)f=1 ...我记得c语言里面逗号表达式的值是最后一个式子值,如果是这样话n==0不就没有用了吗??![图片说明](https://img-ask.csdn.net/upload/201511/21/1448085604_241054.jpg)
  • C语言逗号表达式

    2013-09-24 09:46:00
    逗号表达式的形式如下: 表达式1,表达式2,表达式3,...... ,表达式n 逗号表达式的要领: (1) 逗号表达式的运算过程为:从左往右逐个计算表达式。 (2) 逗号表达式作为一个整体,它值为最后一个...
  • C语言逗号表达式

    2017-04-17 22:50:07
    逗号运算符优先级是级别最低,结合性自左向右,最后一个表达式值是整个逗号表达式的最终值。 注意要关注逗号表达式表达式。 #include <stdio.h>void main() { int i,j; int a,b; a = 10, b = 10, j ...
  • 今天发现了逗号运算,不过好像谭浩强书上没这种运算。例如(表达式1, 表达式2,表达式3,……表达式n),刚开始我认为最后结果只是最后一个表达式n值,但现在遇到好几个疑惑了。 1、(a=3*5,a*4,a+5)),为什么...
  • c语言中逗号运算符和逗号表达式  C语言提供一种特殊的运算符——逗号运算符。用它将两个表达式连接起来。如: 3+5,6+8称为逗号表达式,又称为...例如,上面的逗号表达式“3+5,6+8”的值为14。又如,逗...
  • c语言逗号表达式的运算规则 c语言逗号表达式是由左向右进行:k=3*2=6,K+2=8,表达式返回8。 逗号表达式用法: 当顺序点用,结合顺序是从左至右,用来顺序求值,完毕之后整个表达式值是最后一个表达式值。 ...
  • c语言逗号表达式

    千次阅读 2020-02-05 20:37:45
    如果你想简单了解一下逗号表达式的话这里应该会有你需要东西 一般形式:(表达式1,表达式2,表达式3,……表达式n); 从左到右依次求值 最后一个表达式就是整个逗号表达式的值 如下图 事实上我觉得逗号表达式...
  • C语言逗号表达式

    2019-03-04 11:24:36
    c语言提供一种特殊运算符,逗号运算符,优先级别最低,它将两式联接起来,如:(3+5,6+8)称为逗号表达式,其求解过程先表达式1,后表达式2,整个表达式值是表达式2值,如:(3+5,6+8)值是14,(a=3*5,a*4)...
  • 首先a=20这个没错,但把a=a2联系起来就错了,a2和a的值没半毛钱关系,a2=202=40只是一个在一个不知道内存地址的某个临时存储区存放的数据,20是一个程序员可以知道内存地址的一个值,接着涉及到C语言的逗号表达式了...
  • C语言中逗号运算符和逗号表达式

    千次阅读 多人点赞 2017-12-14 22:52:00
    C语言提供一种特殊的运算符——逗号运算符。用它将两个表达式连接起来。如:  3+5,6+8 称为逗号表达式,又称为“顺序求值运算符”...例如,上面的逗号表达式“3+5,6+8”的值为14。又如,逗号表达式  a=3*5,

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 957
精华内容 382
关键字:

c语言的逗号表达式

c语言 订阅