axyxy假如x10y,axyxy假如x10y9。輸出a什麼啊

2021-03-04 05:44:46 字數 3449 閱讀 5428

1樓:萌神

a=-9

計算過程

先算括號內,--x是先減後計算,所以此時x=9。

y++是先使用y,再加一。因此x=9.y=9,x=y三項式中,如果為真,輸出第一項

輸出(-x),而此時x=9

輸出-9

2樓:匿名使用者

拿去執行一下就知道了,

應該是-9

--x==y++為真;x變成9,y變成10;-x賦值給a,a就是-9了。

c語言中a=(--x==y++)?--x:++y;什麼意思

3樓:漠影歌

這是乙個三目運算子,如果 --x 與 y++相等的話,把--x的值賦給a,否則,將++y的值賦給a;

在這裡,--x是先對x進行自減1再執行語句,y是再執行完語句再執行y自加1,也就是說現在解析出來的表示式為 x - 1 == y ,後面同理!

4樓:鱷魚與德德

中文版 就是 判斷 --x 是否等於y (y++是算完後加 忽律) 假如等於 就 a=--x, 假如不等於 a=++y

5樓:麼麼噠

x=x-1;

if(x==y)

else

大概和這個差不多

6樓:匿名使用者

--x就是x減一;++y就是y加1,這個主要考察c語言語句優先順序

7樓:匿名使用者

如果 x=y+1 執行 x-1 否則 y+1

8樓:歧凌蝶肇戈

x=a+b表示式使得x=6,其返回值為x(x,b+c)是逗號表示式,逗號表示式的值為最後乙個子表示式的值所以

y=b+c

y=10

9樓:匿名使用者

這個是c語言中唯一的三目運算子。

string1 ?a : b

意思是說:當string語句判斷是真的時候,該語句使用結果a,否則是用結果b。

10樓:匿名使用者

這個是乙個條件語句的簡寫

就相對於:

if aa

belse

c如果aa為真,則執行b,否則執行c

11樓:匿名使用者

(!x++||y--)

這個邏輯大概就是

x等於0或者y不等於0最後表示式結果為1

++和--是後做的

還有如果x為0,y就不--了

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

12樓:

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

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

13樓:我才是淡淡

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

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

14樓:也許的貓

根據運算子優先順序,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。

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

15樓:匿名使用者

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

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

16樓:匿名使用者

選: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=(x--=y++)?x--:y++;錯了,但是改成a=(--x=y++)?x--:y++;就對了,不知為何

17樓:匿名使用者

當然不對了,你要知道x--和--x的具體區別才行。這麼說吧,x--是先進行運算然後在-1,也就是說x在本次運算之前還是原來的值,沒有經過--運算。而--x是先把x-1然後再進行賦值獲其他運算操作。

x--=y++這個說不通呀。本身x的只還沒有確定就要-1這就是越步了。--x中x是由初始值的,先進行--運算,然後再賦值,這個是可以的。

18樓:

「=」: 是講乙個資料賦給乙個變數,左運算元必須為左值而且--,++是單目運算子,和=都是右結合的,但優先順序--和++高於=,

所以在第乙個表示式中

a=(x--=y++)?x--:y++;先計算y++的結果,然後再賦給左邊但是左邊有--,且--右結合時碰到=,也就是說=給的值是--,而不是x

a=(--x=y++)?x--:y++;等價於a=((--x)=y++)?x--:y++;

19樓:匿名使用者

a=(x-- == y++)?x--:y++; 改成這樣試試 可能是=和==的問題

求函式y根號下(x平方 9) 根號下 x平方 10x 29 的最小值。多謝

解 原函式式可化為 y 根號下 x 0 0 3 根號下 x 5 0 2 該函式式的幾何意義 在平面直角座標系中,內x軸上容一點 x,0 到點 0,3 和點 5,2 的距離之和 函式y的最小值的求法 作點 0,3 關於x軸的對稱點 0,3 這一點與 5,2 的連線長為函式y的最小值,連線與x軸的交點的...

y2x10的影象怎麼畫,一次函式y2x1的影象怎麼畫?

y 2 2x 1 2 x 1 2 這是把拋物線y 2 2x向右移1 2單位的拋物線因為是大於號 所以就是這個拋物線的外邊,不包括拋物線本身 就是先畫出y 2 2x 1 0的影象,樓主這個會畫吧。是個拋物線,這個拋物線包圍的區域就是y 2 2x 1 0的影象。即為2x y 1 是圖中曲線的左側 不含邊...

若y5的0次冪1無意義,且3x2y10,求x,y

無意義可得y 5 0 即y 5 代入方程,則3x 10 10 即x 0 若 y 5 的0次方無意義,且3x 2y 1,求2的y次方乘5的負x方的值。因為 y 5 的0次方無意義,所以y 5 0,所以y 5,又因為3x 2y 1,所以x 3,所以2 y 5 x 2 5 5 3 2 3 5 3 2 2 ...