1. 程式人生 > 其它 >C語言逗號運算子

C語言逗號運算子

技術標籤:C語言c語言

在C語言中,逗號運算子雖然不起眼,但也是運算子的一種,而且在所有運算子中,逗號運算子的優先順序是最低的。

逗號用來連線兩個表示式,並以其右邊的表示式的值作為它的結果。逗號的優先順序是所有運算子中最低的,所以它兩邊的表示式會先計算;逗號的組合關係是自左向右,所以左邊的表示式會先計算,而右邊的表示式的值就留下來作為逗號運算的結果。

因此我們有下面這個例子:

#include<stdio.h>
int main()
{
	int a=1+2,3+4;
	printf("%d",a);
	return 0;
}

想想會輸出什麼呢?答案是3。

因為逗號運算子的優先順序最低,所以這裡先執行1+2的值為3,然後直接賦值給a,至於3+4的值去哪了呢,當然是直接被丟棄啦。

為了增進理解,還有一個例子:

#include<stdio.h>
int main()
{
	int a=(1+2,3+4);
	printf("%d",a);
	return 0;
}

在這裡,括號將逗號運算子的優先順序提到了最先,所以先計算1+2,再計算3+4,然後返回右值7(即3+4),因此,程式的輸出是7.

但是逗號運算子在自創函式中只作為普通分隔引數使用,與漢語中逗號的作用相似。