若a為int型別資料,且其值為3,則執行完表示式a a a a後,a的值是?請通過程式驗證

2021-04-19 19:45:54 字數 2728 閱讀 9241

1樓:忘了所有沒有痛

執行完bai表示式dua+=a-=a*a後,a的值為:-12。

表示式執zhi行的過程:首先明白賦值運算子的dao結合專性為自左向右,所以說先執行最屬右邊的表示式,同時乘除運算子的優先順序大於賦值運算子,所以說先執行a*a,因為a=3,所以說a*a=9,然後執行a-=(a*a)=a-=(9)等價於a=a-(a*a)=3-9=-6。

然後a=-6,然後執行a+=a等價於a=a+a=-6-6=-12。所以說表示式執行完後a的結果為-12。

2樓:墨汁諾

a=-12。

按照從左至右結合性和優先順序順序,先計算a-=a*a,最後a結果為a=a-a*a,a=3-3*3=-6;

再計算a+=-6,因為版此時a的值已經變權成了-6,所以計算過程是a=a+(-6)=-6-6=-12。

或:a+=a-=a*a;

復合賦值表示式,從右到左執行,可以分拆成:

a-=a*a;

a+=a;

a的原值為3

a-=a*a;

相當於a=a-a*a=3-3*3=-6;

再執行a+=a;

自然就成了-12

3樓:匿名使用者

-12a+=a-=a*a從右邊往左邊算.先計算a-=a*a,即a=a-a*a=3-3*3=-6然後計算a+=a,即a=a+a=-6+(-6)=-12

4樓:匿名使用者

-12a*a為9a-=9 a變成-6a+=a 為-6+-6,所以為-12

5樓:匿名使用者

先執行a-=a*a,即a=a-a*a

3-3*3=-6,a=-6

再執行a+=a,即a=a+a

-6+(-6)=-12

a=-12

a的值是-12

c語言問題:若a為int型別,且其值為3,則執行完表示式a+=a-=a*a後,a的值為-12。請問怎麼算的?

6樓:匿名使用者

運算順序是從右到復左。制

a-=a*a; //這時 a=3-9=-6a+=-6;// a=-6 + -6 =-12其實這裡涉及乙個寄bai存器復用問題,在連續du等號操作中,zhia占用的暫存器在中途被dao更改了,因此才有-6+-6 ,而不是3+-6

7樓:我耐秋妞妹

先算:a-=a*a,其等價於

a=a-a*a

=3-3*3

=-6再算a+=-6,其等價於

a=a+(-6)

=(-6)+(-6)

=-12

這樣可以麼?

8樓:幻想的渴望

自右向左運算

那麼可以拆分為:

首先a*a=9;

a-=a*a,實際就是a=3-9=-6;

a+=a,實際就是a=-6+(-6)=-12

9樓:齷齪胡人

從右到左 a-=a*a 就是a=a-a*a 算出a=-6 a+=a 就是a=a+a 就是-6+(-6)=-12

10樓:匿名使用者

從右往左運算a*a=3×3=9此時a=3,a-運算a=a-9即a=3-9=-6此時a=-6,再進行a+運算a=a+(-6)即a=-6-6=-12

若a為int型別,且其值為3,則執行完表示式a+=a-=a*a後a的值為

11樓:匿名使用者

a=-12。

按照bai從左至右結合性和優先順序順序du,先計算a-=a*a,最後a結果為a=a-a*a,zhia=3-3*3=-6;

再計算a+=-6,因為此時a的值已dao經變成了版-6,所以計算過程是a=a+(-6)=-6-6=-12。

優先順序從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。表示式的結合次序取決於表示式中各種運算子的優先順序。優先順序高的運算子先結合,優先順序低的運算子後結權合,同一行中的運算子的優先順序相同。

12樓:匿名使用者

執行(a*a),得值來

為9,注意此時還源

未賦值給變數a。bai

再執du行a-=a*a,即 a=a-a*a,亦 a賦值為 3-9,得 a=-6。

後面你zhi就明白了,因為「dao賦值表示式的結果是最左邊賦值運算子左邊變數(或者表示式)的值」。執行完賦值表示式(a-=a*a)後,a值為-6,   最後執行 a+= (a-=a*a).

因而 有a= -6 + -6

13樓:示申僉

a+=a-=a*a;

復合賦值表示式,從右到左執行,可以分拆成:

a-=a*a;

a+=a;

a的原值為3

a-=a*a;

相當於a=a-a*a=3-3*3=-6;

再執行a+=a;

自然就成了-12

14樓:匿名使用者

a+=a-=a*a可以看成

a=a-(a*a);

a=a+a;

明白嗎?

15樓:歌行者

先執行a-=a*a,即a=a-a*a

3-3*3=-6,a=-6

再執行a+=a,即a=a+a

-6+(-6)=-12

a=-12

a的值是-12

C裡返回值為int型別陣列的函式如何定義

int 實際上是乙個類,它的基類是array.實際上,所有的陣列型別都是類,而且基類是array.int arr new int 10 實際上是建立了int這種型別的乙個物件,只是微軟為了讓大家習慣,就使用了類似c 的陣列定義方式。你的補充問題是不是這個意思 arr randques randque...

c語言設a,b,c為int型變數,且a3,b4,c

d,因為最後的 1 括號內或1,肯定為真,括號外有非,非真即為假。這個沒什麼原因。你搞清楚涉及到的操作符的優先順序就可以了。其他沒什麼花樣 d a1 內c 0a容1 1 0 1 1 a0 a a b 97 98 1 b a b 3 4 1 c a b c b c 3 9 1 3 1 1 d a1 z...

設x的絕對值小於3,且x大於x分之一,若x為整數,則x等於什

參考啦a親 1 因為x大於x分之1 所以x大於1 或 x小於 1 又因為 x 小於3 且x為整數 所以 x 2或 2 2 因為x的絕對值等於 x 所以x小於等於0 又因為x等於x分之1 所以x 1 好評,謝謝啦 x等於2,因為x絕對值 3,x又是整數,所以x的取值外 2到2之間,且x 1 x 所以 ...