C語言逗號運算子
阿新 • • 發佈:2021-01-24
在C語言中,逗號運算子雖然不起眼,但也是運算子的一種,而且在所有運算子中,逗號運算子的優先順序是最低的。
逗號用來連線兩個表示式,並以其右邊的表示式的值作為它的結果。逗號的優先順序是所有運算子中最低的,所以它兩邊的表示式會先計算;逗號的組合關係是自左向右,所以左邊的表示式會先計算,而右邊的表示式的值就留下來作為逗號運算的結果。
因此我們有下面這個例子:
#include<stdio.h>
int main()
{
int a=1+2,3+4;
printf("%d",a);
return 0;
}
想想會輸出什麼呢?答案是3。
為了增進理解,還有一個例子:
#include<stdio.h>
int main()
{
int a=(1+2,3+4);
printf("%d",a);
return 0;
}
在這裡,括號將逗號運算子的優先順序提到了最先,所以先計算1+2,再計算3+4,然後返回右值7(即3+4),因此,程式的輸出是7.
但是逗號運算子在自創函式中只作為普通分隔引數使用,與漢語中逗號的作用相似。