int x 5 y xxyyy執行後y是多少

2021-03-11 00:57:14 字數 3567 閱讀 6998

1樓:匿名使用者

y=529

解析:++或--後置運算子優先順序小於*,而前置運算子優先順序卻大於*,所以,執行y=x++*x++;時,首先內計容算y=x×x=5×5=25,再計算x=x+1=6;x=x+1=7;執行y=--y*--y;時,先y=y-1=25-1=24,;再計算y=24-1=23;最後計算y=23×23=529.

即等效**為:

int x=5;

y=x*x;

x=x+1;

x=x+1;

y=y-1;

y=y-1;

y=y*y;

執行結果如下:

2樓:夢中夢

【529】

驗證的copy

程式:#include

int main()

這涉及到運算

符優先順序的問題,自增自減的運算級是大於*乘法運算的,自己推導一下,另外x++和++x的區別是,誰在前,先操作誰

不懂再追問,希望可以幫你

3樓:

首先,要知道++、--這樣的運算子,在程式中是如何執行的。

有兩種形式:

1、前專++、前--:在表示式屬執行之前,先進行++或--操作。

2、後++、後--:在表示式執行結束後,再進行++或--操作。

例如問題中提到的 y = x++ * x++;

這則表示式是後++操作,表達的執行流程如下:

1、y = x + x

2、x++ (即:x = x + 1)

這步執行後,y=25,x=7(因為在表示式執行後,x自加了2次)。

所以在 y = --y * --y;操作時1、--y(即:y = y - 1),執行2次,因為有2個 --y。

這步執行後,y=23。

2、y = y * y (這裡的y值已經做過2次自減操作。)這步執行後,y=529。

c語言程式,x=5,y=x++*x++,y=--y*--y,求最後y的結果以及過程原理。

4樓:匿名使用者

y= 529

執行 y = x++* x++後

y = 25,

++在後表示執行後再遞增,所以不影響

--在前,表示先減了再運算

所以 y = 23*23 = 529

5樓:匿名使用者

y = x++* x++ 中x要乘完再自增的,所以是5*5

6樓:聽海的聲音

529 這種問題少問的好

c語言題目,用中文解釋一下,比如x=y=5,x++*x++和--y*--y分別等於多少?

7樓:安僧

我剛打了;如果是x++後邏輯運算是直接乘法後加一,所以x++*x++=27;

但++x是前邏輯運算,所以++x*++x=49;

其次++x*x或x*x++才=36;

8樓:匿名使用者

x=y=5, 這句完了之後x=5,y=5

x++*x++ 第一個x還是5,第二個x是6,所以這個表示式的值是30

--y*--y 第一個y是4,第二個是3,所以這個表示式的值是12

9樓:匿名使用者

x++之後,x為6,兩個6相乘,我就不說答案了,同理,後面的--y,y自減兩次所以y=3,兩個3相乘的答案我也不說了,希望能幫到你,不要只看表面,而不去實踐,這句話我是對2樓的同志說的,,,

10樓:匿名使用者

x++ x-- 記住是使是後加減

++x --x 是加或減後使用的

11樓:匿名使用者

有用vc試驗麼,試驗結果是25 9

彙編結果太長,貼不了:先乘再++,先--再乘。

c語言 int x=4,y=25,z=2; z=(--y/++x)*z--;請問z的值是多少?

12樓:miss_繁華盡落

#include

main()

結果是7並不是8 別忘了你最後的得出的結果z--是被執行了的。所以z=8之後還要再減1 所以z=7 如果你定義個其他變數,比如d. 讓d=(--y/++x)*z--; 的時候d是等於8的 而z最後還是要減一的。

因為z開始等於2 所以z--之後等於1了。

13樓:暗中黑雷

算術運算優先順序 由高到低為 (),

+(單目), -(單目),*,/,%,+,-除+(單目), -(單目)外 以上均為雙目運算子其中單目運算子 只對一個運算數操作 如i++ 它的結合順序由右向左

其中 i++是先用i的值之後i+1 而++i是 i 先加一 在呼叫加一後的i

雙目運算子對兩個運算數操作 如 a+b 它的結合順序由左向右瞭解這些後先算括號內的 --y = 24 , ++x=5 , --y/++x=4

之後*z--但此時呼叫的z=2 , 4*2=8因此結果為8

希望可以幫到你 如果有不清楚的地方還請指出我會改正

14樓:晁溫嶽雁

這是自增自減運算子,如果是--y,表示y的值減少一,即24.才參加運算,如果是y--,表示y的值先運算了再減一。同樣,++就是自加一,也依上面的方法算,不知這樣你明白不。

15樓:聽不清啊

z的值是8

z=(24/5)*2=4*2=8

16樓:匿名使用者

z=8;

z=z--; 結果z=7;

17樓:匿名使用者

--y=24;

++x=5;

24/5=4;

4*2=8

最後結果7

關於c++的問題。int x=4,y=5 表示式y>x++?x--:y++。。。的值是

18樓:匿名使用者

c++裡面的 問號bai表示式du

1: y>x //由於++在後面所以是

zhi 5 和 4 比較

2:x++ //比較完

dao x = 5了

3:由於 第一步 結果為true 所以執內行容x-- 那麼x 又由5 變成4 了

4:y++**不執行 所以還是 5

5: int z = y>x++?x--:y++;由於x--,--在後面

所以 x =4 ,y = 5, z = 5;

19樓:她在哪阿

這是個問號表示式,如果y大於x則執行x--反之執行y++,但是執行之前都會執行x++;那麼回此時x==,y==,比較是答比較的x++之前的值,所以執行x--;此時x==5,但是先執行x,所以表示式的值為5,之後x==4y==5;

20樓:最終幻夜

您好 根據您的題意 三目運算子 首先進行判斷 5>4++ 顯然條件為真 然後x的值+1變成5了 返回冒號左邊的 x的值 為5 所以最後表示式返回的是 5 但是x仍舊是4

C語言中intx5,y5,z5執行語句xy

因為 運算 符的優先順序copy低於 所以 bai,先算y z 5 5 10 x y z x 10 x x 10 5 10 5 表示取模後,結果du還賦值給左zhi變數 表示模運dao算,即 整除取餘數。已知int x 5,y 5,z 5 執行語句x y z 後,x的值是 x y z x x y z...

int x 5,y 1,p,則執行語句p 3,p y,x x p後變數x的值

int x 5,y 1,p x 這時 p 指向來 變數源 x.p 3 使bai x 3 了 p y 讓 p 指向 變數 y p 值等於 y 的當前值 1 x x p x 3 1 變數 x 的值du變成 4 回答 zhi 執行語句這dao幾個語句後,變數x的值 是 4。設有int x 5,y 1,p ...

已知int x 10,y 20,z 30以下語句執行後x

if x y z x 如果x y 執行z x,因為x不大於y,所以z x這句話不執行,繼續向下執行 x y x 20 y z y 30 z還是原來版的30。已知int x 1,y 2,z 3 以下語句執權行後x,y,z的值是 if x y z x x y y z a x 1,y 2,z 3 b x ...