c語言逗號表示式問題,C語言逗號表示式問題

2021-04-28 03:29:02 字數 2430 閱讀 4867

1樓:匿名使用者

執行後a的值是6,printf列印的是13逗號表示式,從左往右計算,表示式值取最右邊的值a=2*3=6

a*5不改變a的值,直接忽略

a+7=6+7=13

執行後a的值是6,printf列印13

2樓:擁雲莊主

逗號表示式,計算順序從左到右,依次計算,返回最後乙個表示式的值,所以,最後輸出為13。

實際執行結果:

3樓:匿名使用者

表達du式1,表示式

2逗號表示式的求zhi解過程是:dao先求解表達專式1,再求解表達屬式2,整個逗號表示式的值是表示式2的值。

賦值操作的優先順序高於逗號表示式的優先順序

多個逗號表示式可以按照從左到右的順序結合,則程式計算應該是:

1、計算 a= 2 * 3->a = 6

2、計算 a * 5 ->a = 6

3、計算 a + 7 -> 6 + 7 = 13所以結果為13!

4樓:匿名使用者

k=(x,y,z);這種表示式的結copy果就是z的值但是是要一步一步計算的,顯示計算x,在就算y,最後z.並且把z的值賦給了k

上面的步驟是 a=2*3=6=x

a的值是6

a*5=30=y

a+7=6+7=13=z

所以最後的值就是13

5樓:匿名使用者

逗號操作符的優先順序是最低的,比賦值操作符低,所以最終a=6

6樓:朱光閎熙華

if(n==0,n==1)抄f=1

逗號表示式,每個子表

襲達式都會執行,整bai個表示式的結

du果是最zhi

後的dao子表示式的結果

上題就相當於if(n==1)f=1

你可以測試下

if(n=2,n=1,n=0)

檢視結果會是什麼

自己多實踐

7樓:會飛的小兔子

c語言bai逗號表達

式是由左向右進行的du:zhik=3*2=6,k+2=8,表示式返回8。

逗號表示式用法dao:

當順序點用回,結合順序是從

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

示例:main()

擴充套件資料注意事項

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

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

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

8樓:買蝶歷春

是你看的那個bai電子書

du表述有誤,逗號zhi運算子優先順序特別低,當然dao也比賦值運算版符=低,問題中的表權達式求值順序是:

1.x=a+b得到x的值為6,賦值表示式的值也為62.y=6得到y的值為6,賦值表示式的值也為63.b+c得到表示式的值為10

4.6,10最後得到逗號表示式的值為10

顯然電子書說的y等於整個逗號表示式的值是錯的,執行結果也說明了這一點

9樓:翠**易珍

逗號copy運算子的做優先順序是最低的,所以要先算賦值運算子.

y=(x=a+b),(b+c)是乙個表示式,包括兩部分:

表示式1是乙個賦值表示式,表示式2是乙個算術表示式.

老譚的書裡說的是整個逗號表示式的值是表示式2的值,所以,整個逗號表示式的值是b+c,y的值是表示式1的值,即a+b.

他寫錯了.這樣寫就對了y=((x=a+b),b+c);

10樓:星念之劍宇

第乙個三個式子是

a=3*5=15,

a*4,a+5=20

printf最後乙個式子的值,為20

第二個(a=15),(a*4),(a+5);

只有乙個賦值語句,所以a=15

printf的值自然是15

11樓:斐未摩雍

printf(...a=2*5,a*4,a+3)中的a=2*5,a*4,a+3是逗號表示式沒錯,可你並沒有求這逗號表示式的值,只是由乙個內%d對應a=2*5指印容

出了a的值,所以是10沒有任何錯誤。你把a=2*5,a*4,a+3用()括起來寫成(a=2*5,a*4,a+3),就是求其值了;試試看是不是13?

12樓:陶紫雲係南

printf只計算第乙個匹配表示式,而忽略多餘的,因此為10.

要想實現逗號表示式的值,將它們小括號括起來,作為乙個表示式。

13樓:晉凡邗人

你好在printf函式裡

%d預設的匹配值就是a=2*5

,想要逗號表示式需要拿出來寫,而且逗號表示式要有自己的括號。

C語言表示式計算步驟,C語言表示式計算步驟

強制轉換的優先順序高於運算子 剩下的就是括號和四則運算次序了 a int b 3 int a c 2 41 int a c 強制轉換 2 b 3 int a c 2 自左向右依次進行3 int b 3 int a c 2 強制轉換4 int b 3 int a c 2 4 資料取餘5 a int b...

1033c語言的問題,C語言中表示式1033的值是

對呀,確實是這樣的 因為浮點數的精度是這個 1.0是浮點數,精度是小數點後6位。所以1.0 3是0.333333,然後乘以3就是0.999999。這個題目考查的是大家對各種資料型別精度的理解滿意請採納。這個問題是關於不同型別資料間混合運算的問題,由於1.0是浮點型,所以 回在計算時,答1.0,3 被...

c語言中逗號指的是什麼意思C語言中逗號運算子怎麼用

c語言中的逗號有兩種意思 1 表示 分隔號 的意思,就和語文中的逗號乙個意思 2 表示 逗號運算子 的意思,用它將2個表示式連線起來.例如 3 5,6 8 就稱為逗號表示式,又稱為 順序求值運算子 逗號表示式的一般形式為表示式1,表示式2。逗號表示式的求解過程是 先求解表示式1,再求解表示式2。整個...