a 12,求a a a a的值,C語言,設a 12,且a為整型,執行語句a a a a 後,a的值為多少?!求解釋

時間 2022-03-13 08:20:02

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...