int x 10,y 9 int a,b,c ax yxy b xc y求a,b,c答案8,8,10要分析過程!誰幫

2021-03-27 14:17:35 字數 3812 閱讀 3104

1樓:匿名使用者

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

2樓:匿名使用者

因為--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

3樓:過時的

先算--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。

4樓:邢廷洋

有: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.

5樓:匿名使用者

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

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

6樓:阿冬

--x //x變為9

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

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

int x=10,y=9; int a,b,c; a=(--x==y++)?--x:++y; b=x++; c=y; cout<

7樓:

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希望能幫到你。。。

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

8樓:草柏渡

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

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

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

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

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

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

9樓:匿名使用者

選: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

10樓:匿名使用者

a=10;

b=9;

c你沒有給出,c=y--或者c=y++,c=11c=x--或者x++,c=10

11樓:匿名使用者

a = (x--=y++) ? x-- : y++ ;這條語句有語法錯誤,=左邊不能是表示式x--

12樓:匿名使用者

自己放在程式裡試試不就知道了,問別人永遠不知道為什麼

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)

13樓:百里莫步

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

14樓:匿名使用者

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

int x=10,y=9; int a; a=(--x==y++)?--x:--y; 求a 5

15樓:我才是淡淡

vc6下答案是8,不同編譯器及執行環境可能會有差異。不過研究這個沒有什麼意義,你要是在公司實際開發寫出這樣的**,估計是直接滾蛋

16樓:匿名使用者

a=(x--==y++)?x--:y++是問號表示式,如果(x--==y++)為真,則a=後面的x--,否則a=y++

由符號運演算法則可知(x--==y++)變為(10==9),false,但x變為9了,y變為10了,所以a=y=10,

x--,y++是先使用x,y值,再做自加自減,後面你搞了,不用太煩這個,不常用的

y 3 y1 0求微分方程的通解

y 3 y 1 0,y 1 y 3,2y y dx 2 1 y 3 dy,兩邊積分,62616964757a686964616fe78988e69d8331333330333662得 y 2 2 1 y 3 dy 2 1 3 1 y 2 c1 1 y 2 c1,y c1 1 y 2 1 c1 1 y...

已知 a 10 a 9 100,求(a 10a 9 的值

答 a 10 a 9 100 a 19a 90 100 a 19a 10 所以 a 10 a 9 a 20a 100 a 18a 81 2a 38a 181 2 a 19a 181 20 181 201 a 10 a 9 a 10 a 9 1 a 10 a 9 1 即 a 10 a 9 2 a 10...

求圓C X 2 Y 2 X 2Y 0關於直線l x y 1 0對稱的圓的方程的過程有點不懂,能講明白點嗎

圓c x y x 2y 0可變形為 x 1 2 y 1 5 4 所以已知圓的圓心c 1 2,1 半徑r 5 2 在本題中,求一個圓的方程,只須求出其圓心座標與半徑即可。而對稱的兩圓半徑是相等的,所以 所求的圓的半徑 已知圓的半徑 5 2,這樣半徑就解決了,下面只要求出圓心即可。兩圓對稱,其圓心也對稱...