各位大哥,為什麼執行結果是22呢?不是6 7 8 21麼解釋下謝謝

時間 2021-09-13 19:13:23

1樓:匿名使用者

這種題目就不要糾結了,答案從21 ~ 24都有可能,看每個編譯器實現了

++i + ++i + ++i這個表示式計算的值,每個平臺計算都不一樣

因為++的優先順序比+高,所以有的平臺計算時,把++i都先進行計算,這樣結果會是24

有的從左往右計算,這樣的結果是21

這種題目直接pass掉就好了,要弄清楚就直接上彙編,vc6跟vc2010和gcc上的結果都會不一樣,看下彙編就好了

2樓:金色潛鳥

這同編譯器有關,同編譯選項有關。對 前後的 ++i 處理方法不同。

ms vc++ 6.0 編譯器:

cl kzx.c /o1

得24cl kzx.c /o2

得24cl kzx.c /oa

得22可以解釋,但沒必要深究。

應避免多義性的程式寫法。

3樓:匿名使用者

++i + ++i + ++i=(++i) + (++i) + (++i)=((++i) + (++i) )+ (++i)

雖然是++i + ++i,但最後相加的還是i所以先把第一組要運算的++i加上去了之後再算第3個++i所以算第一個括號時i就已經是7了,加上最後那個8,就是22了編譯器是按加法順序從左到右計算的,所以沒算到最後一個++i時,暫時不是8

樓主不信請看++i + ++i,是14

4樓:匿名使用者

應避免多義性的程式寫法 + 1,這種語句標準並未規定應如何理解,如何計算,編譯器把它編譯成格式化d盤都是可以的……

各位大哥,請問這人是誰?

5樓:ceshi猜猜

出自遊戲:《崩壞三》人物:八重櫻

很高興為你解答,滿意請採納,謝謝。~

各位大哥、大姐告訴我這些題目的謎底是什麼?

6樓:林逸煙

洞裡點燈(古人名一) 孔明

脖子上插雞毛(古人名一) 項羽

油煎豆腐(古人名二) 李白 黃蓋

氣象記錄無異兆(宋代人名一 ) 文天祥

百年任務,七天完成。(現代作家名一)周樹人百年老屋。(現代作家名一) 老舍

勤勞以健身除病。(宋代文學家名一) 辛棄疾火車出站。(十大元帥之一) ***

換房啟事。(唐代詩人名一) 白居易

看秤。(古代科學家名一)張衡

7樓:匿名使用者

洞裡點燈(孔明) 脖子上插雞毛(項羽) 油煎豆腐(黃蓋,李白) 氣象記錄無異兆(文天祥 ) 百年任務,七天完成。(周樹人)

百年老屋。(老舍) 勤勞以健身除病。(辛棄疾)火車出站。(***) 換房啟事。(白居易)看秤。(張衡)

8樓:匿名使用者

1孔明 2項羽 3黃蓋、李白4文天祥 5周樹人(魯迅) 6老舍 7辛棄疾 8*** 9白居易 10張衡

9樓:憂鬱是藍色

洞裡點燈(古人名一孔明) 脖子上插雞毛---- 項羽 油煎豆腐---黃蓋、李白 氣象記錄無異兆----文天祥 百年任務,七天完成----- 周樹人 百年老屋---老舍 勤勞以健身除病---辛棄疾 火車出站---*** 換房啟事---白居易 看秤---張衡

10樓:六月小妞

1孔明 2項羽 5周樹人(魯迅) 6老舍 7辛棄疾 8*** 9白居易 10張衡

這個程式執行結果是什麼,為什麼?

結果是3,這個程式就是測試字串長度的。先定義了一個字元型陣列,系統預設在串尾新增 0 再把它賦給一個字元型指標p,通過移動指標所指的位置來判斷是否到字串結尾。而s始終都是指向陣列頭的,不能夠改變。指標本身儲存的是所指內容儲存的地址,在計算機中陣列的儲存是連續的,即它們的地址都是相連的。所以當指標指向...

下面程式的執行結果是什麼?為什麼

南睿薇 二10 20 d類是從b類和c類派生的,而b類和c類又都是從類派生的,但各有自己的副本。所以對於物件d,d.b n與d.c n是兩個不同的資料成員,互無聯絡。所以程式結果為 10,20三35 4523b d 3,5 呼叫建構函式b int,int a int 得到x 3 y 5 d.disp...

下面程式的執行結果是什麼?為什麼

1.c子類重新實現了虛擬函式 2.bc constructor dc constructor dc destructor bc destructor 繼承類構造順序為先父類後子類,而析構順序則相反3.會發生編譯錯誤 你確定沒寫錯?函式沒有實現宣告,即使宣告仍然會有warning 最好把原先陣列宣告為...