在C語言中逗號“,”也是一種運算符,稱為逗號運算符。 其功能是把兩個表達式連接起來組成一個表達式, 稱為逗號表達式。其一般形式為:
表達式1, 表達式2
其求值過程是分別求兩個表達式的值,並以表達式2的值作為整個逗號表達式的值。
【例3.19】
main(){
int a=2,b=4,c=6,x,y;
y=(x=a+b),(b+c);
printf("y=%d,x=%d",y,x);
}
本例中,y等於整個逗號表達式的值,也就是表達式2的值,x是第一個表達式的值。對於逗號表達式還要說明三點:
- 逗號表達式一般形式中的表達式1和表達式2 也可以又是逗號表達式。例如:
表達式1, ( 表達式2, 表達式3 )
形成了嵌套情形。因此可以把逗號表達式擴展為以下形式:
表達式1, 表達式2, …表達式n
整個逗號表達式的值等於表達式n的值。
- 程序中使用逗號表達式,通常是要分別求逗號表達式內各表達式的值,並不一定要求整個逗號表達式的值。
- 並不是在所有出現逗號的地方都組成逗號表達式,如在變量說明中,函數參數表中逗號只是用作各變量之間的間隔符。