C語言中 yxx與yxx 為何結果不同

2021-05-21 00:51:41 字數 2603 閱讀 1489

1樓:匿名使用者

這個就涉及到優先順序的關係啦。這不帶括號和帶括號的優先順序應該是不一樣的。你可以再c語言程式執行過程中除錯哦。

2樓:微猥一手

.. 樓主你是把兩個句子一起執行了麼 那肯定不一樣 前面的計算會影響後面的結果的

3樓:destiny_葭陘

如果你沒打錯,結果是一樣的;

程式1如下:

# include

main()

程式2如下:

# include

main()

執行結內果完全一

容樣,都是49;

程式3如下:

# include

main()

這樣寫的話,結果就不一樣,因為在執行a=++x*++x前,x的值已經不是5,而是7了。

4樓:

我測試的結果是++x*++x和(++x)*(++x)計算結果相同。

編譯環境是vs2005.

5樓:匿名使用者

這是一個運算子號優先順序的問題:『 ++ 』 > 『()』 > 『 * 』。

所以:y=++x*++x相當於y=x*(x+1),y=(++x)*(++x)相當於y=(x+1)*(x+2)。

6樓:我僅僅是個菜鳥

我測試的結果是一樣的。。。gcc編譯

c語言z=(x++,y++)與z=(++x,++y)的區別

7樓:教皇·寒淚

x++ 是先執行,再加一。

++x 是先加一,再執行。

舉個簡單例子:

x=1; cout<

x=1; cout<<++x<<' '; cout<

8樓:匿名使用者

區別就像

x++z = y++; 或者 z = ++y;

c語言(x++)+(++x)+(x++)?

9樓:穆青芬莘嫣

++和--運算的***,與編譯系統的優化有關,結果不確定性。實際應用中不要寫出這樣的語句。

看看:int

x=3;

inty=(++x)+(++x)+(x++);

這時:x=6,y=15

再看int

x=3;

inty=(++x)+(++x)+(++x);

這時:x=6,y=18

10樓:袁世平

x=4+=在執行語句的過程中並不會賦值,所以在執行的過程中呼叫到的x所儲存的值都是4.

x+=(x-=(x-(x--)))=

x+=(x-=(x-3))=

4+=(4-=1)=

4+3=7

唔,本地g++執行結果是7.

不知道怎麼回事。

11樓:匿名使用者

這個是講的 先加加 與 後加加的應用

int x=3;int y=(x++)+(++x)+(x++);

計算結果如下

1.執行前增量操作執行第二個(++x) 執行後x為4;

2.執行運算子 + 也就是 y = 4 + 4 + 43.然後執行第一個(x++) x = 5

4.再執行第三個(x++) x = 6先加加 是在運算子之前執行 累加 後加加是在運算結束後進行累加。

12樓:匿名使用者

從左往右計算,先

算x++,得出x=4,但因為x++是先算後加,所以這裡(x++)為3,

下一步++x,先加後算,所以這裡x=5,(++x)為5,再下一步將(x++)和(++x)加在一起,為8,最後一步x++,得出x=6,但同第一步,x++為5,所以最終答案為8+5=13

13樓:豆豆的人啊

x加加代表先賦值後加1

加加x代表先加1後賦值

所以第一個括號()結果為4 x也為4

第二個扣號就是4加1為5 x為5

第三個闊號就是6

所以是15

14樓:匿名使用者

執行前增量操作執行第二個(++x) 執行後x為4執行運算子 + 也就是 y = 4 + 4 + 4然後執行第一個(x++) x = 5

再執行第三個(x++) x = 6

先加加 是在運算子之前執行 累加 後加加是在運算結束後進行累加。

15樓:匿名使用者

結果:3+5+5=13。先計算x++,接著++x計算後x=5。

16樓:雲南新華電腦學校

先算x++,得出x=4,但因為x++是先算後加,所以這裡(x++)為3,

下一步++x,先加後算,所以這裡x=5,(++x)為5,再下一步將(x++)和(++x)加在一起,為8,最後一步x++,得出x=6,但同第一步,x++為5,所以最終答案為8+5=13

c語言中奇怪的結果求大神解釋C語言中,一個奇怪的結果,求大神解釋

include include int main return 0 在具體 有不明白的再問 反彙編了下 include include int main 你的問題應該就是不明白為什麼這句 printf d these that 列印的是1吧,因為這裡他比較的是地址,你先宣告瞭 that 常量 注意這...

c語言中pa與pa有什麼區別c語言中intpa與intpa有什麼區別???求大俠幫忙!!!

讓我來綜合一下吧 在定義的時候 int p a 是等同於 int p p a 的。該形式只在定義的時候是正確的。就是指標p所指向地址的內容為a的內容。如果不是定義的時候 p a 就是它字元的那個意思,就是指標p所指向地址的內容為a的地址。dev c 試了下 p 表示地址為p儲存單元的內容 p 表示地...

c語言中與是什麼意思,whileNC語言中是什麼意思呢

就像寫篇文章 bai,文章裡du要加逗號 句號 分zhi號或引號。它們dao是c c 的語言或語法規則回。大括號 的內容是語句體,比如你的那個 大括號裡的語句內容都屬於main函式。小括號 那就複雜多了,括號的答內容可以指示引數,比如你的那個 printf 裡面的內容表示呼叫函式的引數,還可以是運算...