關於c語言函式自增 的 一道題 求解答

時間 2021-09-03 07:05:17

1樓:守候一生的

這跟你使用的c編譯軟體有關。有的軟體是從左往右編譯,有的是從右往左編譯。

比如,turbo c的編譯順序是從左往右的,vc++6.0的編譯順序是從右往左的。

如果是從左往右編譯,則y=(x++)+(--x)的結果y=19。如果是從右往左編譯,--x之後x為9,同樣的,前面的x++中的x這時也為9,所以答案是18

2樓:匿名使用者

因為c語言加法是右結合性,即從右向左開始運算,剛開始x為10,經過--x,x變為9,(--x)是先自減再運算,此表示式的值為9,(x++)是先運算再自增,該表示式的值為9,所以y的值應該為18,而x的值經過自增變為了10。

3樓:匿名使用者

++這個符號先不管,先算--,--x後x為9,兩個9相加為18,所以y為18,此時x再加1,所以x還是10

算結果的時候可以把++忽略,表示式變為x+(--x),算出結果後再算後置的++

4樓:43青年

表示式是從右往左算的

先算(--x)

x變成9

x++先返回9,再++

結果18

5樓:匿名使用者

可能,是從左向右執行,先是--x,x=9,然後x++,但是是先執行y,然後再 x++。。。所以,最後 x=10 y=18

6樓:雨魂

單步除錯下,看看x的變化。

求解一道c語言題

只為醍醐灌頂說的是對,你給的答案是錯的,正確應該是8,8,10。這裡是考的指標的移動。難點是 p2 p1 5 這裡的操作是,取出p1所指的值10減去5,p1向後移動1 即現在指向a 1 得數5賦值給p2所指的地址 即a 2 5 p2向前移動1 即p2指向a 1 輸出時 p2 p1 5 0040104...

C語言積極求解,一道C語言程式設計題求解

1.若以下選項中的變數已正確定義,則正確的賦值語句是 a x1 26.8 3 b 1 2 x2 c x3 0x12 d x4 1 2 3 2.下面給出的識別符號中,能作為變數名的是 d a for b 123 c int d a b 中間一橫線在下面 3.c語言中,運算物件必須是整形數的運算是 c ...

兩道C語言程式題求解,一道C語言程式題求解

時辰八點半 2 不採用函式就原始暴力地從頭開始逐個遍歷字串。對原始陣列個數從0索引到最後一個字元使用迴圈 當字元在 a z 或者在 a z 中時將該字元存到另一個定義了空間大小的字元陣列中並使該字元陣列索引 1,直到最後給該新得到的陣列新增結束符 0 並輸出即可 3 一樣從頭開始遍歷陣列,噹噹前字元...