C語言中,若有int a 5則逗號表示式a 2 6,a 3,a 5的值是

時間 2021-09-11 22:33:37

1樓:風雷九州

沒錯,就是12。

=號優先順序高於,號表示式,要計算=(賦值)

直接就是a = 2*6 =12了,後面那些a*3,a+5什麼的都沒用

2樓:

我認為是17,因為這是一個逗號表示式,裡面有2個逗號,3個式子!逗號表示式的值,以最後一個式子的值為值,也就是a+5。但是他是從前往後依次做算的,運算第一個式子後,a是12,運算第二個,a不變還是12,運算第三個式子,式子的結果就是17

3樓:2一瞬間

應該是17,逗號表示式從左向右計算的

第一個計算式a=2*6=12了,第二個計算時a的值沒變,第三個是該逗號表示式的值a+5=12+5=17

4樓:零下一度的沙漠

a的值是17

首先a=2*6=12

a*3 沒有賦值

a+5=17

逗號表示式取最右邊的表示式

所以a=17

可以用vc寫個表示式列印出來看看值

5樓:雨諾與諾

整個,號表示式的值就是第一個,前面的值,就是a=2*6,所以你是對的,12.

6樓:匿名使用者

你說的對,結果就是12。

7樓:

逗號表示式 a=2*6,a*3,a+5 的值:

int a;

int s;

s = (a=2*6,a*3,a+5);

右邊小括號裡的是逗號表示式,它分成3個表示式:

(1)a=2*6,

(2)a*3,

(3)a+5

計算順序是 (1) (2) (3); 算畢,把 (3) 「最後一個表示式的結果」 作為 「逗號表示式 的 結果」 給出.

(1) 式,叫「賦值表示式」 -- c 語言的叫法!算得 a=12

(2) 式,表示式 的 結果 是 a*3 ,a 的當前值 是 12 ,表示式 的 結果 是 36,a自身值 是 12沒變

(3)式,表示式 的 結果 是 a+5,上一步說了,a自身值 是 12沒變,所以這裡 a+5 = 12 + 5 = 17

「最後一個表示式的結果」 作為 「逗號表示式 的 結果」 給出 ,最終給出 17

printf("%d ",s); 列印出 17.

c語言逗號表示式(a=3*5,a*4,a+5)的值是多少?

8樓:匿名使用者

(a=3*5,a*4).a+5

應該是(a=3*5,a*4),a+5 吧

逗號表示式注意兩個基本知識:

1. 逗號表示式的運算順序是從左向右運算

2. 逗號表示式的值取逗號中最右表示式的值

現在看(a=3*5,a*4),a+5這個逗號表示式,

首先對於(a=3*5,a*4)和a+5來說,按照從左向右運算先計算(a=3*5,a*4)

(a=3*5,a*4)

這個逗號表示式從左向右運算先計算a=3*5,這是個賦值語句,處理a=3*5=15

再計算a*4,此時a=15,所以a*4=60,但是注意這個表示式並沒有對a賦值,僅僅是一個乘法運算

根據逗號表示式的值取逗號中最右表示式的值的原則,(a=3*5,a*4)的值為60

再看a+5,

之前運算(a=3*5,a*4)時,a已經被賦值為15,所以這裡a+5=15+5=20

所以a+5這個表示式的值為20

再根據逗號表示式的值取逗號中最右表示式的值的原則,

表示式(a=3*5,a*4),a+5 的值即為a+5的值,也就等於20了

9樓:匿名使用者

逗號表示式的值是最右邊表示式的值

a=3*5 賦值給a=15

a*4 這個表示式的值被丟棄

a+5 是逗號表示式的返回值 15+5 =20逗號表示式的值是20

10樓:寧寧

逗號表示式,按從左到右順序進行,先計算a=3*5,再計算a*4.最後是計算a+5.因為a*4的值沒有賦值給a,所以逗號語句結束後,a的值為15,所以最後a+5=20 .

11樓:匿名使用者

首先逗號是左結合的所以那個括號沒意義

a = 3 * 5, a * 4, a + 5

最左邊導致a被賦值為15;中間的表示式結果是60,但是並沒儲存;右邊表示式結果是20作為整個表示式的最終結果

12樓:匿名使用者

20,逗號表示式從左到右執行,結果取最右

13樓:小老鼠

a=3*5;

所以a等於15

括號裡還是逗號表示式 整個表示式的值取 a*4 得6060 和 a+5 又是一個逗號表示式

但a的值沒變還是15 所以整個表示式的值取 a+5=20結果得20

14樓:

#include

void main()

c語言運算結果是60

15樓:特維佐

假如是y=(a=3*5,a*4,a+5)

則y=a+5;

c語言考題: 表示式a=2*6,a*3,a+5的值是? 我寫了一下程式,應該是12。為什麼?

16樓:匿名使用者

整個表示式的值是17 但是a的值是12逗號運算「,」是從左向右 而且賦值運算子「=」優先順序高於逗號運算子a=2*6,a*3,a+5

先求a=2*6,則a的值變成了12

再a*3,但a的值還是12,因為a*3並沒有再賦值給a再a+5 ,a+5 的值是17

注意:逗號表示式的值是最後一個表示式的值,在這裡是a+5的值,即17

17樓:匿名使用者

本來就是12啊,你整個語句用了逗號表示式,但是後面a*3和a+5並沒有被a所接收啊

有點迷惑麼?

c語言逗號表示式中 (a=3*5,a*4).a+5 的演算法

18樓:匿名使用者

(a=3*5,a*4).a+5

應該是(a=3*5,a*4),a+5 吧

逗號表示式注意兩個基本知識:

1. 逗號表示式的運算順序是從左向右運算

2. 逗號表示式的值取逗號中最右表示式的值

現在看(a=3*5,a*4),a+5這個逗號表示式,

首先對於(a=3*5,a*4)和a+5來說,按照從左向右運算先計算(a=3*5,a*4)

(a=3*5,a*4)

這個逗號表示式從左向右運算先計算a=3*5,這是個賦值語句,處理a=3*5=15

再計算a*4,此時a=15,所以a*4=60,但是注意這個表示式並沒有對a賦值,僅僅是一個乘法運算

根據逗號表示式的值取逗號中最右表示式的值的原則,(a=3*5,a*4)的值為60

再看a+5,

之前運算(a=3*5,a*4)時,a已經被賦值為15,所以這裡a+5=15+5=20

所以a+5這個表示式的值為20

再根據逗號表示式的值取逗號中最右表示式的值的原則,

表示式(a=3*5,a*4),a+5 的值即為a+5的值,也就等於20了

19樓:寧寧

逗號表示式,按從左到右順序進行,先計算a=3*5,再計算a*4.最後是計算a+5.因為a*4的值沒有賦值給a,所以逗號語句結束後,a的值為15,所以最後a+5=20 .

20樓:世鑲柳

這個題目本身就是錯誤的,大家看清楚了,括號後面是個「點」,對一個整形變數取結構體成員是語法錯誤,根本就不會有什麼運算結果。

21樓:

#include

void main()

c語言運算結果是60

22樓:匿名使用者

首先逗號是左結合的所以那個括號沒意義

a = 3 * 5, a * 4, a + 5

最左邊導致a被賦值為15;中間的表示式結果是60,但是並沒儲存;右邊表示式結果是20作為整個表示式的最終結果

23樓:小老鼠

a=3*5;

所以a等於15

括號裡還是逗號表示式 整個表示式的值取 a*4 得6060 和 a+5 又是一個逗號表示式

但a的值沒變還是15 所以整個表示式的值取 a+5=20結果得20

c語言中表示式的值怎麼算,C語言中表示式的值怎麼算

墨汁諾 此式即等同於 4!3 2 4 1 5 1代表真,0代表非,則原式即 1 1 0 所以值為0。例如 12 5 2 只為這個是整數運算,結果只取整數部分。62 1 6 7 7 6 1 13 49 623.2 6 7 1 44.8 可以。逗號運算子,從左至右計算,取最後一個表示式的值作為整個語句的...

C語言 若有定義int p,則表示式p的值就是p所指向的變數的地址值加

末了待續 這是錯的,p沒有進行初始化 我也是剛學指標。p就是所指向的變數的地址。p就是所指向的變數的值 因此 p 就是地址值加1吧,額,我也不確定。因為我還沒瞭解到有關儲存地址的知識。我覺得應該是加1了。 錯誤,要看變數佔用的地址空間,這裡是加sizeof int printf d p printf...

若有定義 int a則表示式a a的值為9請高手說明下這個過程

倒黴熊 二維陣列是按行儲存的也就是如下這樣 a 0 0 a 0 1 a 0 2 a 0 3 a 1 0 a 1 1 a 1 2 a 1 3 a 2 0 a 2 1 a 2 2 a 2 3 而a表示的就是a 0 0 所在的地址。所以 a 2 1 a的值為9。 陽光上的橋 請你在草稿紙上畫一個三行 四列...