1樓:
x+=x-=x*x;
你要正確拆開這個式子很重要
首先是 x-=x*x
然後是 x-=36
繼續 x=x-36
x=-30
x+=-30
x=-30-30
=-60
2樓:匿名使用者
c語言的這個運算應該從右向左賦值。對,頂樓說的對
3樓:
把x=6代入公式,然後從右向左算。
4樓:及珹彤白亦
要點1:
*=,+=,-=,%=
等符號的應用是同道理的:
即把左邊的移過右邊運算(右邊用括號包住,表示先運算),結果再給左邊(注意左邊只能是變數,不可為表示式)a+=
b等價於a=a
+(b);
(b可以是值或表示式,這裡的=仍是賦值號哦,b打括號是因為它可以是表示式)如x
+=1;
*****
x=x+1;x+=
1+2+3;
*****
x=x+(1+2+3);x+=
a+b+1
====
x=x+(a+b+1);
要點2:就個這樣的符號的運算,則從最右邊的那個開始計算,一直到左邊例如:a+=b
%=a-=b
--------------3------2----1(3個這樣的符號)
從*最右邊*來分析(按符號順序):
1:a=a-(b)
,得到了a的新值
2:b=
b%(a),
得到了b的新值
(注意該a是新值哦)
3:a=a+(b),
再次得到了a的新值
(注意右邊的a也是1的新值,b是2的新值)懂了上面,你應該可以分析自己的了~~~
c語言中的複合賦值運算子「%=」怎麼用?
5樓:匿名使用者
要點1: *=,+=,-=,%= 等符
bai號的du應用是同道理的zhi: 即把左邊的移過右邊
dao運算(右內邊用括號包住,容表示先運算),結果再給左邊(注意左邊只能是變數,不可為表示式)a += b 等價於a = a + (b); (b可以是值或表示式,這裡的=仍是賦值號哦,b打括號是因為它可以是表示式) 如 x += 1; ***** x= x+1; x += 1+2+3; ***** x =x+(1+2+3); x += a+b+1 ==== x= x+(a+b+1); 要點2:就個這樣的符號的運算,則從最右邊的那個開始計算,一直到左邊例如: a += b %= a -= b--------------3------2----1 (3個這樣的符號)從*最右邊*來分析(按符號順序):
1: a=a-(b) ,得到了a的新值 2:b = b%(a), 得到了b的新值 (注意該a是新值哦) 3:
a=a+(b), 再次得到了a的新值 (注意右邊的a也是1的新值,b是2的新值) 懂了上面,你應該可以分析自己的了~~~
6樓:匿名使用者
%=的用法是,把%移到右邊。比如a %= b;那就把a和%移到右邊,但左邊還有一個a。最後等於內a = a % b;像樓主說的a+=b%=a+b;因為賦容值語句是從右到左計算的,所以先要計算最左邊的a+b;也就是成這樣:
a+=b%=(a+b),根據上面說的,%=用法,現在把b和%移到右邊,那就成a += b = b %(a+b);其實計算出b %(a+b);的值,然後賦值給b,最後是a +=b,然後把a和+移過右邊,成a = a + b;
c語言的複合賦值運算子
7樓:gta小雞
a=a+1,首先要求來
賦值號右側的表達自式a的值,然後將
它與1相加,接著求賦值號左側的表示式a的值,最後將加法的結果寫回a中,所以表示式a被求值了兩次;a+=1,首先求得賦值號左側的表示式a的值,將這個值加上1,然後寫回a中,表示式a只被求值了一次。
這是理想的情況,實際中現代編譯器都非常智慧,在開啟編譯優化時,a=a+1這樣的語句將被直接優化為a+=1甚至是a++。
8樓:戲遠巴乙
第一步:
baia=a/(a-6),a的值傳遞給第二步du進行下一zhi步計算
第二步:daoa=a*a,a的值回傳遞給第三步進答行下一步計算第三步:a=a+a,a的最終結果在這裡記住兩句話:
1、=賦值號,自右向左進行;
2、a+=1相當於a=a+1。這個a/=a-6先把a-6看成一個數,a/=1不就是a=a/1嘛;
請問c語言複合賦值運算子的優先順序是什麼?
9樓:匿名使用者
首先要明白的是復bai合運算其實也du
就是兩條語句的簡zhi單表示。舉個例dao子:
a += 2這句復內合運算表示式。將它拆分就是:容a = a + 2;
在運算子優先順序表中,賦值運算的優先順序是最低的。因此會先計算a+2;然後將結果重新賦值給a;
其他的複合賦值運算子也是這樣。
10樓:問心之心
面對c語言優先順序的問題,你只要去查c語言優先順序的表就可以知道了,複合賦值運算子在14個優先順序,介於條件運算子和逗號運算子之間!
11樓:匿名使用者
我沒學到的 不好意思
複合賦值運算子講解
c語言中卻運算子如何使用,C語言中取反運算子如何使用
c語言經典例子之按位取反運算子 運算子 是邏輯非運算子 才是按位取反運算子。經過 運算後,回運算結果只答 有0或1 而經過 運算後,結果有多種,取決於運算元。下面通過例項來介紹這個運算子的使用方法 int a 10,b,c b a 運算後b 0,因為a不等於0 即為真 所以取非後等於0 為假 c a...
C語言中怎樣理解三目運算子條件運算子的右結合性
這裡涉及了c中的優先順序 結合性 求值順序。結合性只有在相同優先順序的運算子間才起作用,比如a b c,與 優先順序不同,這裡根本不用去管結合性。而a b c則需要進行結合性考慮了,如果 為左結合性,那麼應該理解為 a b c,如果 為右結合性,那麼應該理解為a b c 當然了,我們已經知道 為左結...
C語言逗號的作用C語言中逗號運算子怎麼用
c語言中,多個表示式可 以用逗號分開,其中用逗號分開的表示式的值分別結算,但整個表示式的值是最後一個表示式的值。假設b 2,c 7,d 5,a1 b,c d 3 a2 b,c d 3 對於第一行 有三個表示式,用逗號分開,所以最終的值應該是最後一個表示式的值,也就是d 3,為8,所以a1 8。對於第...