21xrx.com
2024-12-23 00:21:05 Monday
登录
文章检索 我的文章 写文章
【标题】C语言中逗号运算符的作用及实例
2023-06-14 22:39:34 深夜i     --     --
C语言 逗号运算符 算术表达式 赋值表达式 函数实参

在C语言中,逗号运算符是比较常见而且有一定复杂性的运算符之一,在编写程序时经常会使用到。逗号运算符可以用来连接多个算术表达式、赋值表达式或函数实参,其作用比较灵活。

首先,逗号运算符可以用来连接多个算术表达式。在这种情况下,只有最后一个表达式的值才会作为整个逗号运算符表达式的值。比如:


int a = 1, b = 2, c = 3, d;

d = (a + b, c + 1);

在上述代码中,`(a + b, c + 1)`表示先计算`a + b`,然后忽略这个结果,再计算`c + 1`并把结果作为表达式的值。所以,在这个例子中,`d`的值为`4`。

其次,逗号运算符也可以用来连接多个赋值表达式。在这种情况下,逗号运算符是从左到右依次执行的,并且整个表达式的值是最后一个表达式的值。比如:


int a = 1, b = 2, c = 3, d;

d = (a = b + 1, b = c + 1, c = a + b);

在上述代码中,`(a = b + 1, b = c + 1, c = a + b)`表示先执行`a = b + 1`,然后执行`b = c + 1`,最后再执行`c = a + b`,并将`c = a + b`表达式的值赋给`d`。所以,在这个例子中,`d`的值为`8`。

最后,逗号运算符可以用来连接多个函数实参。在这种情况下,逗号运算符会先计算第一个实参的值,然后计算第二个实参的值,以此类推。比如:


void func(int a, int b, int c) {

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

}

int main() {

  int a = 1, b = 2, c = 3;

  func(a + b, b + c, c + a);

  return 0;

}

在上述代码中,`func(a + b, b + c, c + a)`表示先计算`a + b`,然后计算`b + c`,最后计算`c + a`,并将这三个值作为实参传递给`func`函数。所以,在这个例子中,`func`函数的输出为`3 5 4`。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复