1樓:匿名使用者
執行順序:
1 . a++ * 1 /2
2. a被替換為31: (31) * 1 / 23.
計算後得到 31 / 2 = 15(小數被忽略)4. a = a+1 = 31 + 1 = 32最後a = 32,表示式a++*1/2 = 15
2樓:牽興朱媚
a+=x等價與a=a+x
所以a+=a-=a*a就等價於a=a+(a-=a*a)a-=x等價與a=a-x
所以,又有a=a+(a-=a*a)等價於a=a+(a=a-a*a)a=5時
先算括號,括號裡先算乘法,再算減法,最後將減法結果賦值給aa*a=25
a-a*a=-20
a=a-a*a=-20
括號算完算a+()
a+a=-20+(-20)=-40
所以最後a=-40
3樓:倪永寧士嫻
因為*this
==other只是比較兩個string型別變數的值是否相等。而且該語句是否合法還取決於你是否過載了==號操作符。
這裡過載賦值運算子,比較this和&other的原因是要確保不是自己給自己賦值。即this和&other的值不能一樣,一樣的話代表自己給自己賦值。
明白了吧?
c語言,複合賦值運算子
4樓:匿名使用者
首先+=和*=優先順序相同,且都是右結合,所以上述語句等價於:
k += ( i *= k);
等價於:
i *= k; // i = i*k
k += i; // k = k+ i;
5樓:戶哲茂
k+=(i*=k)
也就是先
i = i+k;
然後k=k+i;
在c語言中複合的賦值運算子怎麼處理?
6樓:
x+=x-=x*x;
你要正確拆開這個式子很重要
首先是 x-=x*x
然後是 x-=36
繼續 x=x-36
x=-30
x+=-30
x=-30-30
=-60
7樓:匿名使用者
c語言的這個運算應該從右向左賦值。對,頂樓說的對
8樓:
把x=6代入公式,然後從右向左算。
9樓:及珹彤白亦
要點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的新值)懂了上面,你應該可以分析自己的了~~~
賦值運算子:= += -= *= /=
10樓:尚學堂科技****
關於上面的運算子作如下解釋:
public class test}
在c++的複合賦值運算子中的+=、-=、*=、/=、%=、<<=、>>=、&=、^=、|=。分別是什麼意思阿?
11樓:手機使用者
舉個例子說明吧,如 i += 2,就相當於 i = i + 2,因此你所述的運算子都可以這麼理解和學習。
c語言中有關複合運算子計算的問題
12樓:
由於複合運算子是右結合的,所以
a+=a*=a/=a-6
==a+=(a*=(a/=(a-6)))
==a+=(a*=(a/=1))
==a+=(a*=a)
==49+49
==98
我不清楚你的答案56是怎麼來的!
13樓:
答案是98,不是56,分析如下
a+=a*=a/=a-6,如下
a=a+(a*=a/=a-6)
a=a+(a=a*(a/=a-6))
a=a+(a=a*(a=a/(a-6)))a=a+(a=a*(a=a/1))
a=a+(a=a*(a=7))
a=a+(a=a*7) // 注意,此時a的值是7a=a+(a=7*7)
a=a+(a=49)
a=a+49 // 注意此時a的值是49a=49+49
a=98
c語言中複合位運算賦值(&=,|=,^=,>>=,<<=)表示什麼意思?
14樓:匿名使用者
&=,按位與後賦值,變數&=表示式;
|=,按位或後賦值,變數|=表示式;
^=,按位異或後賦值,變數^=表示式;
>>=,右移後賦值,變數》=表示式;
<<=,左移後賦值,變數<<=表示式;
類似的還有,
/=,除後賦值,變數/=表示式;
*=,乘後賦值,變數*=表示式;
%=,取模後賦值,變數%=表示式;
+=,加後賦值變數,+=表示式;
-=,減後賦值變數,-=表示式;
這些是c/c++獨有的複合賦值運算子,結合方向,從右向左。是一種縮寫形式,使得對變數的改變更為簡潔,更有效率。
15樓:匿名使用者
位運算子與賦值運算子可以組成複合賦值運算子如 :&=, |=, >>=, <<=, ∧ =
和+=,-=,*=,/=類似.
即把左邊值與右邊值位運算之後賦值給左邊變數.
例如 ,a & = b 相當於 a = a & b 。 a << =2 相當於 :a = a << 2 。
明白了沒有呀?
16樓:匿名使用者
舉個例子:
a+=5 相當於 a=a+5
即先進行運算再賦值
c語言賦值運算子,C語言賦值運算子
a a a a 分步 1 a a a a a 9 a 9 a a 9,a 6 2 a 6 a 6 6 a 12a a a a 1 a a a 9 2 a 9 a 9 9 a 0 3 a 0 a 0 在c語言中11種賦值運算子的具體含義,用法?1.六個變數 表示式的賦值 是賦值運算子,是除後賦值,是乘...
c語言運算子 和各有什麼功能,C語言運算子 和 各有什麼功能?
表示按位或,規則是一個為1或二個都為1,結果為1,表示按位異或,規則是相同為0,相異為1。首先把兩個運算元化成二進位制,然後按位進位制操作 5 35的二進位制00000101 3的二進位制00000011 00000111 化為十進位制是7 5 35的二進位制00000101 3的二進位制00000...
左移運算子的問題c左移運算子的問題C
比較淺顯的來說,左移n位就是乘以2的n次方,右移n位就是除以2的n次方。具體細節如下 c語言裡的左移和右移運算 先說左移,左移就是把一個數的所有位都向左移動若干位,在c中用 運算子.例如 int i 1 i i 2 把i裡的值左移2位 也就是說,1的2進位制是000.0001 這裡1前面0的個數和i...