3.9.3 逗号表达式

逗号表达式是用逗号运算符“,”以及括号将两个或多个表达式连接在一起的式子。其一般形式如下所示。


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


逗号表达式的应用示例如下。


include<stdio.h>//头文件

void main()//主函数

{

int a,b;//声明变量

b=(a=410,a5,a/10);//逗号表达式

printf(“a=%d\nb=%d\n”,a,b);//输出结果

}


该程序可在KeilµVision3集成开发环境中运行,执行结果如下。


a=40

b=20


本例中,先求解a=410,则a的值为40,再求解a5,结果为200,最后求解a/10=20作为整个表达式的值,即b的值为20。在使用逗号表达式时,需要注意以下几点。

❑一个逗号表达式还可以与另一个表达式组成新的逗号表达式,计算时同样需要自左向右计算。示例如下。


(a=410,a5,a/10),(a+10)


❑程序中使用逗号表达式,有时并不一定为了求整个逗号表达式的值,而可能需要分别求出逗号表达式内各表达式的值。示例如下。


(a=34,a5),(a+10);


本例中,整个逗号表达式没有赋值给任何变量,主要是计算各个中间表达式的值。

❑逗号表达式可以构成嵌套结构,即逗号表达式中的表达式也可以是逗号表达式,计算的顺序仍然是自左向右,整个表达式的值为最后一个表达式的结果。

❑在程序中,需要区分逗号表达式和逗号分隔符。例如,在变量声明、函数参数表中的逗号只是用作变量之间的分隔符。示例如下。


int a,b,c;