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
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,這樣半徑就解決了,下面只要求出圓心即可。兩圓對稱,其圓心也對稱...