首页 > 编程笔记

C语言逗号运算符和表达式

在C语言中,逗号不仅作为函数参数列表的分隔符使用,也作为运算符使用。逗号运算符的功能是把两个表达式连接起来,使之构成一个逗号表达式。逗号运算符在所有运算符中是级别最低的。

C语言逗号表达式的一般形式如下:

表达式1, 表达式2

求解的过程是先计算表达式1,再计算表达式2,最后整个逗号表达式的值就是表达式2的值。

【示例】逗号表达式的应用。
#include<stdio.h>
int main()
{
    int a=2,b=4,c=6,x,y;
    y=(x=a+b),(b+c);
    printf("y=%d,x=%d\n",y,x);
}
运行结果:
y=6,x=6

范例分析

在本范例代码第 05 行,因为逗号运算符的优先级比赋值运算符优先级低,所以将该语句整体看成逗号表达式,第1个表达式是 y=(x=a+b),第2个表达式是 b+c。先计算 y=(x=a+b),其中,x=a+b=6,y=(x=a+b)=6;再计算 b+c=10。这条语句的值等于第2个表达式的值 10。

对于逗号表达式还要说明以下3点:

优秀文章