1樓:賽桂花澄靜
你是說a的初值是12,然後經過a+=a-=a*=a得到的結果吧從右往左算(編譯器決定的)
a+=(a-=(a*=a))
等號右邊的值就是表示式的值也就是a的最終值a*=a相當於a=a*a此時a=144
a-=144此時a=0
a+=0此時a=0
結果就是a=0
2樓:魏雪黎妝
分解一下,就ok了!a=a+(a=a-(a=a×a))從最裡面的開始算!(1)a=a×a=12*12=144.
把144賦值給a(2)a=a-a=144-144=0;把0賦值給a(3)a=a+a=0+0=0;所以最後結果=0;
做這類題a的在變值,一個運算完成,a會有新的值,別隻會用數學的,從頭到尾都不變,這是機器!
3樓:刁爍乙流麗
賦值的順序是從右往左進行的,因而將以上語句翻譯一下,你就明白了:
a=a*a;
a=a-a;
a=a+a;
4樓:卜慧僪念夢
根據結合性來
原句等價於
a+=(
a-=(a*=a)
)a-=
(a*=a)
這一句很明顯,a值會為0
所以最後結果很明顯
5樓:勇蓮朋芳潔
這個可以這樣分解:
a=12;
a*=a;//a=144
a-=a;//a=0
a+=a;//a=0
其中*=,-=,+=這種運算子是從右往左算的
c語言,設a=12,且a為整型,執行語句a+=a-=a*=a;後,a的值為多少?!求解釋
6樓:原桂花石雨
a的值為0;
c裡的賦值運算的從右往左的,先執行a*=a;得到a=144;然後a-=a,得到a=0;最後a+=a,所以就是0了。
7樓:茹青芬郝黛
-12計算步驟:
1.根據操作符優先順序先算
a*a=9則a
-=9等價於a
=a-9
所以此操作結束後
a的值為-6;2.a
+=(a
-=a*a)
等價於a
+=-6
;注意,此時a的值已經是-6了所以a
+=-6
;等價於a=
a+(-6)
=-6+(-6)
=-12
c語言中已知a=12則表示式a+=a-=a*=a的結果是什麼?
8樓:囧囧小囧大熊貓
結果是0
原因:從右向左進行
a*=a --------->a = a*a;
a-=a --------->a = a-a //這個是0哦所以結果是0了。
賦值表示式設a=12,a+=a-=a*=a運算後a的值
9樓:愚代靈石煜
先要考慮結合性問題
這時自右至左的
所以先做a*=a得144
,然後做a-=a就是a=a-a
也就是144-144=0
最後是做a+=a就是0+0=0最後結果就是得0啦
10樓:溫爾蓉悉霈
a+=a-=a*=a的解釋如下:要算a=a+a;就要根據a=a-a,求得a;而要求a,就得先算a=a*a
(其實這一步都用不著了,因為a=a-a=0了,不過是這樣分析的)你可以多寫幾個類似的語句,來測試:a=12;a+=a+=a*=a;
printf("%f",a);a=12;a+=a+=a+=a;
printf("%f",a);a=12;a+=a+=a/=a;
printf("%f",a);
等等這樣你就能理解了
設int a=12,則執行完語句a+=a-=a*a後,a的值是
11樓:諾諾百科
d。拆開來看,a=a+(a-=a*a),在拆 a=a+(a=a-a*a) 從後面算。先算 a=a-a*a 等於-132,算 a=a+(-132) 結果是d。
例如:先執行a*a=144
然後a=a-144
此時a=-132
再執行a=a+(-132)
a=-264
12樓:匿名使用者
拆開來看,a=a+(a-=a*a)然後在拆 a=a+(a=a-a*a) 然後從後面算。先算 a=a-a*a 等於-132 然後算 a=a+(-132) 結果是 d
賦值表示式:a+=a-=a*=a; 設a=12,請問它的計算過程是什麼?
13樓:匿名使用者
a += a -= a *= a;
這是一個賦值表示式它包含複合的賦值運算子;由於賦值運算子結合方向是 \"自由至左\" 因為a的初值為12,此賦值表示式的求解步驟如下:
s1:先進行\"a *= a\"的運算,它相當於a = a * a,a的值為12*12=144;
s2:再進行\"a -= 144\"的運算,相當於a = a - 144,a的值為144-144=0;
s3:最後進行\"a += 0\"的運算,相當於a = a + 0, a的值為0+0=0;
所以此表示式結果為0
14樓:讓赫蒯和煦
先要考慮結合性問題
這時自右至左的
所以先做a*=a得144
,然後做a-=a就是a=a-a
也就是144-144=0
最後是做a+=a就是0+0=0最後結果就是得0啦
15樓:匿名使用者
這個是沒有技術含量的,但是作為考察基礎知識是有那麼一點點用的的
16樓:匿名使用者
暈死,是個人都不會寫出這種程式來的。
a += a -= a *= a;
相當於a += (a -= (a *= a));
因為 a 的值為 12,所以 a *= a 後,a = 24a -= 24 後,a = 0
a += 0 後,a = 0
17樓:檢綠凝
流汗.a=12 a*=a後是24嗎?應該是a=a*a=12*12=144
然後a=a-a=144-144=0
最後結果是0
c語言中,已知a=12,則表示式a+=a-=a*=a的結果是什麼,求步驟
18樓:天雨下凡
從右向左算
首先a的值是12
第一步:
計算a*=a
a=a*a=144
第二步:
計算a-=144
a=a-144=0
第三步:
計算a+=0
a=a+0=0
19樓:囧囧小囧大熊貓
結果是0
原因:從右向左進行
a*=a --------->a = a*a;
a-=a --------->a = a-a //這個是0哦所以結果是0了。
20樓:匿名使用者
a=a*a
a=a-a
a=a+a
結果為144
21樓:匿名使用者
-120的幹活,這個是按照運算優先順序
設int a=12,則執行完語句a+=a-=a*a後,a的值是_____(
22樓:匿名使用者
-264。
1、先計算a-=a*a,得到a=12-12*12=-132;
2、a+=-132,得到a=-132-132=-264。
+= 加後賦值,變數+=表示式 如:a+=3;即a=a+3;-= 減後賦值,變數-=表示式 如:a-=3;即a=a-3。
賦值運算子的計算順序是從右到左,大多數運算子結合性是從左到右,只有三個優先順序是從右至左結合的,它們是單目運算子、條件運算子、賦值運算子。而且它的優先順序別低於其他的運算子,所以對該運算子往往最後讀取。
已知a 1 2試求下列各式的值 1 a
王前印 a 1 a 3 2,原式兩邊平方,可得a 1 a 2 9 4,所以a 1 a 17 4,設a 1 a x,平方得,a 1 a 2 x 2 a 1 a 1 4,a 1 a 2 25 4,所以x 2 25 4,x 5 2,即a 1 a 5 2 夢幻魔導士 解法一 a 1 a 2 a 2 1 a ...
c語言 求的近似值,C語言 求 的近似值
無情天魔精緻 用g 編譯器 圓周率的計算方法 能精確到800多位 include const int n 2800,a 10000 int c n,e 0,f n 10 int main int digit e d a if digit 3141 else if digit 10 printf 00...
C語言題,求最大值?哪裡出錯了,C語言求最大值和最小值,幫我看一下哪裡有錯誤,謝謝!
你的輸入錯了,中間不要有,號 如圖就可以了 你的 可謂是邏輯混亂,中括號都不打,其他的我也看不下去了。我給你正確的 include main else else else printf d p if。和else如果不打中括號,只會執行if或者else後面第一個條語句,後面的語句就不屬於if或者els...