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。 陽光上的橋 請你在草稿紙上畫一個三行 四列...