a 2,ba,結果為a 3,b 3。這個運算是如何得出的

時間 2021-08-11 18:15:23

1樓:匿名使用者

b=++a ,表示a 自增後賦值給b

b=a++,表示a賦值給b後再自增 ,結果a=3,b=2

2樓:心冰依然

b=++a,由於++是前置操作符,故先算++,相當於++a;//a = 3;

b=a;//b = 2;

如果是b=a++;則先賦值再加,相當於

b=2;//b = 2;

a++;//a=3;

3樓:匿名使用者

a = 2;

b= ++a; ---> 1) a=a+1=3, 2) b=a, b = 3

4樓:牛浩涆

++a的意思是a=a+1,當程式執行完++a時,a的值就變成了3(a=2+1)

把a的值賦值給了b那麼b就等於a的值,也就是3了。

還有一種情況

a=2,b=a++,結果就變成了,a=3,b=2。

你試試看.

++a 先把a的值進行加1然後再用a

a++ 先用a的值,然後再把a加1

5樓:龍龍菲

a=2;

b=++a;

//此時,b=3你應該沒疑問吧。這裡的++a的作用,是讓a「自加一」,然後又通過「=」賦值給b了,所以a=3,b=3;

6樓:匿名使用者

b=++a 等同於

a=a+1b=a

7樓:匿名使用者

自增和自減運算子只允許用於數值型別的變數,不允許用於表示式中。該運算子既可放在變數之前(如++i),也可放在變數之後(如i++),兩者的差別是:如果放在變數之前(如++i),則變數值先加1或減1,然後進行其他相應的操作(主要是賦值操作);如果放在變數之後(如i++),則先進行其他相應的操作,然後再進行變數值加1或減1。

如int i=6,j,k,m,n;

j = +i; //取原值,即j=6

k = -i; //取負值,即k=-6

m = i++; //先m=i,再i=i+1,即m=6,i=7m = ++i; //先i=i+1,再m=i,即i=7,m=7n = j--; //先n=j,再j=j-1,即n=6,j=5n = --j; //先j=j-1,再n=j,即j=5,n=5

已知a=1,b=2,c=3,則表示式a*b&&(b++,!c)&&(a++,c++)的值是。該表示式運算過後,a=? ,b=? ,c=? 5

8樓:聽不清啊

該表示式運算過後,a=1 ,b=3 ,c=3因為 1*2的值非0,被認為是「真」

&&後面繼續計算:b++,!c

是一個逗號表示式,b變成了3,!c的值為0(因為c原值為非0,即「真」,取反後即為「假」),所以逗號表示式的值為「假」。

整個表示式的值已經確定,為「假」,後面總分不再運算。

所以,a=1 ,b=3 ,c=3

9樓:匿名使用者

首先得知道&&進行的是短路運算,如果運算子的左邊經計算後結果為假,則不會再計算右邊。

因a*b=2為真,接著計算(b++,!c),而(b++,!c)是一個逗號表示式,逗號表示式按從左往右計算,整個表示式的結果為最右邊那個表示式的結果。

所以,(b++,!c)經計算後為(2,0),逗號表示式的值是0,同時b為3,而已為假,不會再計算(a++,c++),因此,結果是表示式a*b&&(b++,!

c)&&(a++,c++)的值是0,該表示式運算過後,a=1,b=3,c=3。

10樓:三天打魚

看結果就知道了 執行了第一個括號之後就返回了 後面的括號沒有執行

第一個括號最後一個值是!c c邏輯取反運算 c是3 取反後是0 然後逗號表示式返回最後一個值 返回了0  前面的&&遇到0就直接返回結果了

11樓:

根據運算子的優先順序,表示式等價於

(++a) || (-b) && (++c)在c/c++中 0為false,非0就是true,上面的表示式就等於true || true && true

所以最終的值就是true,如果按照整數輸出,則為1

c++的問題:int a=1,b=2;則(++a/)*b--的值怎麼算出來?我執行了一下,結果是2。

12樓:手機使用者

在這個表示式中,三目運算子的執行順序是從左往右的但整個表示式的執行順序是從右向左執行的

初始值a=1,b=2,c=3,d=4

先執行--a和--d,得到a=0,d=3

再判斷c

所以表示式c

此時a的值是0

則原表示式簡化為 a++

對於a++

最終的運算結果是1

希望回答對你有幫助!

13樓:

執行過程如下:

1: a/b=0

2: ++a/b=1

3: (++a/b)*b=2因為--是字尾運算子,輸出時,並沒有執行,所以輸出2對於 這個表示式輸出之後變成1

14樓:

(++a/)*b--

改為(++a)*b--

=2*2=4

15樓:匿名使用者

++a先自增後使用a=2

++a/b=2/2=1

b--先使用後自減1

(++a/b)*b--=1*2=2

然後b=1

16樓:

(++a/)*b-- 這能算?

17樓:

++a=2

b--=1

a/b=2

2/1=2

設a=2,b=3表示式a>b?a:b的值是( )表示式a>=b-1的結果是( )

18樓:世俗凡人一個

第一個是3,因為a為2,b 為3,a>b這個表示式是假,而 表示式1?表示式2:表示式3;

它和這個等價,

if(表示式1)

表示式2;

else

表示式3;

既 if(a>b)

a;else

b;第二個,考運算子優先順序的問題,

-是算術運算子,

而》=是關係運算子,

根據優先順序關係,先算算術運算子。

2>=2

所以是真,true 或者是1,這要看環境。

19樓:

1.ans=3

2.ans=true & 1

第一個是三目運算,如果?前的值為true則返回a,否則返回b。

第二個就不講了 too easy

假定變數a=1,b=2,c=3,則表示式:c==b++>a&&a++,a+b的值 求詳解

20樓:匿名使用者

由運算bai符優先順序可知

原表達du式等效於zhi

(c==(b++>a))&&a++,a+b又由&&運算子的dao短路效應可內知子表

達式(c==(b++>a))&&a++中,&&右側的a++未被執行容又由逗號運算子是順序點這一點,此間所有***均會發生,所以只有b值自增了一

所以整個逗號表示式的值為4(a+b==1+3)

21樓:匿名使用者

c=3因為c從來沒有被賦值

整個表示式的值是4

因為 逗號運算子 ,結果為 a+b,即4

a 3 b 3減 a 2b ab 2 到 a減b 2 a b 0的過程急

a 3 b 3減 a 2b ab 2 a 3 b 3 a 2b ab 2 a 3 a 2b b 3 ab 2 a 2 a b b 2 b a a 2 a b b 2 a b a 2 b 2 a b a b a b a b a b 2 a b a 3 b 3減 a 2b ab 2 0所以 a b 2 ...

因式分解a 2 a b 3 b 2 b a

賣血買房者 a 2 a b 3 b 2 b a 3 a 2 a b 3 b 2 a b 3 a b 3 a 2 b 2 a b 3 a b a b a b 4 a b 提公因式 a b 3 把 b a 3變為 a b 3 則原式 a b 3 a 2 b 2 a b 3 a b a b 冷漠的人才 a...

ab a 2b 3a 2b a 2 x 3 7x 6兩題都是因式分解高手快來解答

ab a 2b 3a 2b a 2 a a 2b b 3 a 2b a a 2b 7b 3a x 3 7x 6 x 3 x 2 x 2 7x 6 x 2 x 1 x 6 x 1 x 1 x 2 x 6 x 1 x 2 x 3 dsyxh若蘭 ab a 2b 3a 2b a 2 ab a 2b 3a ...