int x 10,y 9 int a,b,c ax yxy b xc y cout《a《b《c能寫分析步驟最好啦

2021-03-27 14:18:38 字數 4877 閱讀 3603

1樓:

a=(--x==y++)?--x:++y;

先判斷--x==y++是否為真,--x,將x的值減1,取其值,結果是9,y++先取y的值為9,然後其值加1,y=10

所以--x==y++ 為真,所以 a=--x=8b=x++; 先取x的值8,再將其值加1,所以b=8,x=9c=y=10

所以最後結果就是8 8 10

主是理解前增(前減)和後增(後減)區別,++x和x++的區別在於++x先把x的值加1,再取其值,而x++是先取其值,再把值加1

a?b:c的意思是a成立,則執行b,否則執行c希望能幫到你。。。

#include int main() { int x=10,y=9,a,b,c; a=(--x==y++)?--x:++y; b=x++; c=y; printf("a=

2樓:阿冬

--x //x變為9

--x==y //表示式結果為真,即為1y++ //y變為10

問號之前結果為真,執行--x,x變為8,所以a=8b等於x++執行之前的值,即b=8,然後x變為9c等於y,即c=10

5) 執行以下程式段後、變數a,b,c的值分別是一。 int x=10,y=9; int a,b,c; a =(- -x = = y++)?- -x:++y ; b

3樓:匿名使用者

選:bint x = 10, y = 9;

int a, b, c;

a = (--x == y++) ? --x : ++y;

//x先進行 -- 運算,再進行比較

//y先進行比較,再進行 ++ 運算

//同: if(x == y)else

b = x++;

//x先進行賦值,再進行 ++ 運算

//同: b = x;x++;

c = y;

//因為在前面的 a = ( --x == y++), y 已經進行過 ++ 運算了,所以 y 的值已經成為 10 了

求解。變數a,b,c的值分別是?int x=10,y=9; int a,b,c; a =(- -x = = y++)?- -x:++y ; b = x ++; c = y;

4樓:草柏渡

首先你這程式有錯誤的判斷--x=y++就好。

在前面++或就--就是先++或--再用數;在後面就先就是先用數在++或--

所以--x=y++是對的。所以a=--x;所以a=8的(經過兩個--)。

b=x++;先賦給b再++。所以b=8.x為9.

c等於y。y等於10.(:++y)是沒有執行到的。

main() { int x=4,y=3; int a,b,c; a=(--x==y++)?--x:++y; b=x++; c=y;} } 為什麼輸出答案是2 2 4

5樓:也許的貓

根據運算子優先順序,a=(--x==y++)?--x:++y等價於a=(((--x)==(y++)))?

(--x):++y,首先判斷x=x-1與y值的是否相等,y+1,若相等,則a=--x(--x先x=x-1,然後用於計算)。此時,x=2,y=4。

a=2b=x++,將x的值賦給b,然後x=x+1,所以b=2,x=3.

c=y,所以c=4。

在寫**的時候,最好將表示式中的不同優先順序的計算用括號括起來,這樣就不用為優先順序問題而煩惱了。

6樓:匿名使用者

是求abc吧?電腦上也說不清楚,自己多看書吧,很基礎的,應該是符號的優先順序問題

int x =10,y=9; int a,b,c; a= (- -x=y++)?- -x:++y; b=x++; c=y; 求a,b,c 答案8,8,10;要分析過程!誰幫

7樓:匿名使用者

a= (- -x=y++)?- -x:++yx先自減1 然後跟y對比 x-1=9 y=9 所以x=y=9; 結束對比後,y++=9+1=10

所以a=(--x) =9-1=8

c=y=10

b=x++; 意思是把x的值付給b後,再進行自加1,所以b=x=8

8樓:匿名使用者

因為--x=9,y++=9,y=10,得c=10所以(--x=y++)?為真++y不執行,那就只執行了--x,y++,--x,x++,

a為x-2=8,此時執行了兩次--x,每次--x減一,x也減一b為x-2=8,x++此時執行了自加,x++還等於8,但x加一等於9

9樓:過時的

先算--x是9,9和y的值相同,然後同時還要算一次y++,所以此時x=9,y=10,然後執行a=--x,a=8,b=x++,先執行b=x,b=8,再執行x++,x=9,最後,c=y,所以c=10。

10樓:邢廷洋

有:a=(--x=y++)?--x;++y 可知--x=y++這是乙個正確的命題,同時x此時為9,y仍然為9.

然後再執行肯定語句即 ---x此時x為8.跳出這個語句【以分號間隔】y加1等於10.然後。

將x=8賦給b,在x加1為9.所以a=8b=8c=10.

11樓:匿名使用者

「那個應該是這樣(--x==y++)」

main( ) {int x=10,y=10;int a,b,c;a=--x==y?++y:--x;b=x++;c=y printf("%d %d %d\n"a,b,c)

12樓:刀靖琪段朵

a=(--x==y++)?--x:++y;

先判斷來--x==y++是否為源真,bai--x,將x的值du減1,取

其值,zhi結果是9,y++先取y的值為9,然後其值加1,y=10所以--x==y++

為真,所以

a=--x=8

b=x++;

先取x的值8,再dao將其值加1,所以b=8,x=9c=y=10

所以最後結果就是8810

主是理解前增(前減)和後增(後減)區別,++x和x++的區別在於++x先把x的值加1,再取其值,而x++是先取其值,再把值加1

a?b:c的意思是a成立,則執行b,否則執行c希望能幫到你。。。

13樓:兆妙柏奉漪

main(

){int

x=10,y=10;

inta,b,c;

a=--x==y?++y:--x;

1)這裡有四個

來運算子:=(賦值

自元素安撫)、

bai--(自減du運算子)、==(等於運算子)、?:zhi(條件運

dao算符),而由運算子的優先順序從高到低有:--、==、?:、=。

先計算--x後x=9,再計算等於運算子,等於運算子左右兩邊不相等,所以條件運算子第二個條件執行,即執行--x,然後x=8,也就是賦值運算子右邊等於8,所以a=8,而且同時x=8,y=10;

b=x++;x++表示在使用x之後(即先將x的值賦給b),使x的值加1,所以此時b=8,x=9,y=10;

c=y;將y的值賦給c,所以c=10,x=9,y=10;

printf("%d

%d%d\n"a,b,c)

所以輸出結果為8810

main( ) {int x=10,y=10;int a,b,c;a=--x==y?++y:--x;b=x++;c=y printf("%d %d %d\n"a,b,c)

14樓:百里莫步

main( )

{int x=10,y=10;

int a,b,c;

a=--x==y?++y:--x;

1)這裡有四個運算

符:=(賦值元素安撫)、--(自減運算子)、==(等於運算子)、?:(條件運算子),而由運算子的優先順序從高到低有:

--、==、?:、=。先計算--x後x=9,再計算等於運算子,等於運算子左右兩邊不相等,所以條件運算子第二個條件執行,即執行--x,然後x=8,也就是賦值運算子右邊等於8,所以a=8,而且同時x=8,y=10;

b=x++;x++表示在使用x之後(即先將x的值賦給b),使x的值加1,所以此時b=8,x=9,y=10;

c=y ;將y的值賦給c,所以c=10,x=9,y=10;

printf("%d %d %d\n"a,b,c)所以輸出結果為8 8 10

15樓:匿名使用者

a=--x==y?++y:--x; 這個首先x-1,然後與y比較是否相等,如果相等,y+1,如不等,x-1,最後將結果賦值給a,此時結果,a=8,x=8,y=10

b=x++; 先將x的賦值給b,然後x-1,此時 b=8,x=9

intx=10,y=9;inta,b,c;a=(x--=y++)?x--:y++;b=x++;c=y;求a,b,c答案10,9,11;要分析過程!誰幫

16樓:戚潔卓春

++表示自加,--表示自減。++在前面的(比如x=++a)a先自加,再賦值給x;++再後面的則先賦值,再自加。--同理。

a=(x--=y++)?x--:y++;是乙個三目預算,意思是如果?前面的等式(也就是(x--=y++))成立,則a=x--;如果不成立,則選a=y++。

a=(x--=y++)?x--:y++;首先判斷x--=y++是否成立,--和++都是在後面的,所以判斷x=y(注意判斷玩之後還要做x--和y++);不成立,則a=y++;也就是先賦值a=y=10(因為前面已經做過一次y++);在做y++,y=11;

b=x++,先賦值b=x=9(因為前面已經做過一次x--),在做x++,x=10

c=y=11(前面得出)

int x 3 while x9 x 2 xwhile語句成功執行的次數是多少次?求解法

因為x 在while外,所以與while內的x值無關一次 x 3 while執行成功 x 2 x 5 二次 x 5 while執行成功 x 2 x 7 三次 x 7 while執行成功 x 2 x 9 四次 x 9 while執行失敗 while語句成功執行的次數是3次 如是int x 3 whil...

C語言問題,intx1,y1,z1xyzxyz的值是多少

x 0y 1 z 1原因是 x y z 中,是邏輯與運算子。程式執行時會先判斷 左邊的部分,如果內左邊部分為真,再判斷右容邊部分。左邊的部分是 x 也就是讓 x 先自減 1,即 x 為 0 邏輯運算時 0 被當作 假 來處理。邏輯與運算時有一項為假,結果必為假,因而不用再判斷右邊的部分。所以 右邊的...

定義 int x 3,y 4,z 5則表示式 x y z 1 y z

c語言的優先順序 從上到下依次遞減 醋 初等,4個 指向結構體成員 結構體成員 壇 單目,9個 負號 型別 指標 取地址 sizeof長度 酸 算術,5個 減味 位移,2個 灌 關係,6個 等於 不等於 味 位邏,3個 按位與 按位異或 按位或 落 邏輯,2個 邏輯與 邏輯或 跳 條件,1個,三目 ...