本文目錄一覽:
C語言里的逗號的使用方法
C語言提供一種特殊放入運算符:逗號運算符
表達式1,表達式2
逗號表達式的求解過程是:
先求表達式1,再求表達式2
整個逗號表達式的值是表達式2的值,如表達式「3+5,6+8」的值為14。又如,逗號表達式「a=3*5,a*4」,賦值運算符的優先級別高於逗號運算符,因此應先求解a=3*5.經計算和賦值後得到a的值為15,然後求解a*4,得60,整個逗號表達式的值為60。
擴展資料:
逗號運算
例子:
int a1,a2,b=2,c=7,d=5; // 第1行
a1=(++b,c–,d+3); // 第2行
a2=++b,c–,d+3; //第3行
對於給a1賦值的代碼,有三個表達式,用逗號分開,所以最終的值應該是最後一個表達式的值,也就是(d+3)的值,為8,所以a1的值為8。
參考資料來源:百度百科-逗號運算符
c語言中的逗號運算
(a=b,b+3)
計算的順序是先計算a=b,再計算b+3,
整個(a=b,b+3)的值是b+3的值,
逗號運算是從左至右依次計算每個表達式,最後的結果是最右邊的表達式的值
int
a=0,b=0,c=0;
c=(a-=a-5),(a=b,b+3);
最後的結果是a=0,b=0,c=3
運算的順序的先計算(a-=a-5)得出a=0-(0-5)=5,再計算a=b=0,最後計算b+3=3;整個逗號表達式的值是3,然後賦給c,所以c=3
C語言中逗號運算符怎麼用?
一、用法:
1、當順序點用,結合順序是從左至右,用來順序求值,完畢之後整個表達式的值是最後一個表達式的值。
main()
{int a,s,d;
s=2;
d=3;
a=12+(s+2,d+4);
}
先算括號內的值:s+2=4,d+4=7;括號內應為(4,7),括號內取值只取最後一個,如果沒有括號則取第一個;a=12+7=19。
x=(y=3,(z = ++y+2) +5);
是首先把y賦值為3,把y遞增為4,然後把4加上2,把結果6賦值給z,接下來把z加5最後把x賦為結果值11。
2、注意事項:逗號運算符( , )是C語言運算符中優先級最低的一種運算符。
二、其它用法:
1、在for裏面的應用:
int i;int j;
for(i=0,j=0;i5;i++,j++)
2、當分隔符:int i,j;
擴展資料
運算符優先級:
1、優先級從上到下依次遞減,最上面具有最高的優先級,逗號操作符具有最低的優先級。
2、相同優先級中,按結合順序計算。大多數運算是從左至右計算,只有三個優先級是從右至左結合的,它們是單目運算符、條件運算符、賦值運算符。
3、基本的優先級需要記住:指針最優,單目運算優於雙目運算。如正負號。先算術運算,後移位運算,最後位運算。請特別注意:1 3 + 2 7等價於 (1 (3 + 2))7.邏輯運算最後計算。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/228921.html