逗號表示式的計算,逗號運算子詳解

時間 2022-04-11 06:05:57

1樓:匿名使用者

如樓上所述,逗號表示式先計算內括號,再計算外括號,先計算逗號前,再計算逗號後

((x=4*5,x*5),x+25)

第1步算x=4*5,此時x得到賦值,x = 20第2步算x*5,值為100

則內括號整個的值100,x = 20 【注意,算x*5時,並未給x重新賦值】

第3步算x + 25,值為20 + 25 = 45 【並未給x重新賦值】

此時逗號表示式就相當於(100,45),顯然整個表示式值 = 45

2樓:匿名使用者

c語言提供一種特殊的運算子,逗號運算子,優先級別最低,它將兩式聯接起來,如:(3+5,6+8)稱為逗號表示式,其求解過程先表示式1,後表示式2,整個表示式值是表示式2的值,如:(3+5,6+8)的值是14。

(a=3*5,a*4)的值是60 逗號表示式的形式如下: 表示式1,表示式2,表示式3,...... ,表示式n 逗號表示式的要領:

(1) 逗號表示式的運算過程為:從左往右逐個計算表示式。 (2) 逗號表示式作為乙個整體,它的值為最後乙個表示式(也即表示式n)的值。

(3) 逗號運算子的優先級別在所有運算子中最低。

((x=4*5,x*5),x+25) = ((x=20,x*5),x+25) =(100,x+25)=125

答案應該為c

3樓:天方夜譚的哆啦a夢

c語言逗號表示式是由左向右進行的:k=3*2=6,k+2=8,表示式返回8。

逗號表示式用法:

當順序點用,結合順序是從左至右,用來順序求值,完畢之後整個表示式的值是最後乙個表示式的值。

示例:main()

擴充套件資料注意事項

(1) 逗號表示式的運算過程為:從左往右逐個計算表示式。

(2) 逗號表示式作為乙個整體,它的值為最後乙個表示式(也即表示式n)的值。

(3) 逗號運算子的優先級別在所有運算子中最低。

c語言中計算逗號表示式c=(a=7,b=a+2,b+1),並且輸出a,b,c的值是什麼意思啊?求解

4樓:匿名使用者

c的值是整個逗號表示式的值,

逗號表示式從左向右計算,最右邊的值是逗號表示式的值a=7b=a+2=9

b+1=10

所以a=7,b=9,c=10

5樓:問鼎

還差乙個採納,求採納謝謝。

括號內的式子從左往右運算,的到a=7,b=9;括號的值是最後乙個式子的值。所以c=b+1=10;

6樓:匿名使用者

是乙個基本的程續框圖

c語言中的逗號表示式 是怎麼計算的 如果兩值或兩式子之間有個逗號 那結果是什麼

7樓:嶽英範泣朵

逗號表示式的值是最後乙個表示式的值。

比如c=(1,2,3,4,5);

那麼c的值就是5

8樓:賁含巧撒菀

逗號在c語言中,有兩種形式:

1.通常的逗號。例如:printf("%d%d",a,b);

2.稱為逗號表示式,即可以構成逗號表示式.例如:

main()

c語言中逗號運算子的功能和使用方法

9樓:匿名使用者

一、用法:

1、當順序點用,結合順序是從左至右,用來順序求值,完畢之後整個表示式的值是最後乙個表示式的值。

main()

先算括號內的值: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;i<5;i++,j++)

2、當分隔符:int i,j;

擴充套件資料

運算子優先順序:

1、優先順序從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。

2、相同優先順序中,按結合順序計算。大多數運算是從左至右計算,只有三個優先順序是從右至左結合的,它們是單目運算子、條件運算子、賦值運算子。

3、基本的優先順序需要記住:指標最優,單目運算優於雙目運算。如正負號。

先算術運算,後移位運算,最後位運算。請特別注意:1 << 3 + 2 && 7等價於 (1 << (3 + 2))&&7.

邏輯運算最後計算。

10樓:平常心隨緣

c 語言中,逗號(,)也可以是運算子,稱為逗號運算子(comma operator)。逗號運算子可以把兩個以上(包含兩個)的表示式連線成乙個表示式,稱為逗號表示式。其一般形式為:

子表示式1, 子表示式2, ..., 子表示式n例如:a + b, c = b, c++

逗號運算子的優先順序是所有運算子中級別最低的,通常配合 for 迴圈使用。逗號表示式最右邊的子表示式的值即為逗號表示式的值。上例中,c++ 的值(c 自增之前的值)即為該表示式的值。

逗號運算子保證左邊的子表示式運算結束後才進行右邊的子表示式的運算。也就是說,逗號運算子是乙個序列點,其左邊所有***都結束後,才對其右邊的子表示式進行運算。因此,上例中,c 得到 b 的值後,才進行自增運算。

逗號運算子詳解

11樓:z的

逗號運算子就是無論有多少表示式、最後的值是最後乙個表示式的值!

例如:(3>2):67;5

返回值就是67因為第乙個表示式的值為真、返回冒號前面的表示式!假值返回冒號後面的表示式的值

逗號表示式怎麼用

表示式1,表示式2,表示式3,表示式n 逗號表示式的要領 1.逗號表示式的運算過程為 從左往右逐個計算表示式。2.逗號表示式作為乙個整體,它的值為最後乙個表示式 也即表示式n 的值。3.逗號運算子的優先級別在所有運算子中最低。在 中,d作為格式宣告部分已經控制了輸出值只能為十進位制數,因此其輸出值是...

c語言的表示式

第一題,a正確,不過太噁心人了 b的話中間那一段錯了,不能有a 3在賦值號左邊 c錯誤,double型不能用 d錯誤,應該是 double 3。第二題,a正確,b錯誤,不能有a 2在等號左邊 c錯誤,不能對256用 d錯了,錯在 後面如果沒有x,就是三位八進位制數,所以不可能有8這個數。第三題,a正...

解讀excel的表示式

row 1 100 為獲取行號函式,反回值為1 100,不然你就得寫入長長的一段 10 5,不如直接寫為100000,這裡只要是乙個比較大的數就可以了。mid a1,row 1 100 1 是將a1單元格中的字元分解為單個字元。比如mid a1,3,1 就是把提取a1單元格中第3個字元,最後的1,為...

C 表示式必須是可修改的左值,表示式必須是可修改的左值,怎麼改

就是說 左邊必須是變數,x i是表示,所以不能賦值 if x i 0 break 應該是 isleapyear d true d.month 2 這幾個運算子的優先順序高於 所以你寫的表示式的含義是 isleapyear d true d.month 2 isleapyear d true d.mo...

合法的c語言表示式,合法的C語言表示式

include include const double pi acos 1 void main 引用 標頭檔案 include const double pi 3.41592654 再寫上double tt sin pi 6 sin 30 在c語言中的表示為 sin 30 3.1415926 18...