1樓:
在乙個表示式裡,同乙個變數多於乙個自增或自減,都會有不可預知的結果.
把i++移到單獨的語句才會有你想要的結果.
這是c標準規定.
2樓:匿名使用者
因為b(x)是乙個巨集,後為
(i++)*(i++)*(i++)
第1次=1,對的
執行後,x=4
4*4*4=64
然後x=7
7*7*7=343
3樓:匿名使用者
i++ 進入巨集 b 為
((i++)*(i++)*(i++))
i == 1時,進去後,用1求值立方值,顯示為1,然後 i 遞增為 4。
再進去後,用4求立方值,顯示64,i再遞增為 7。
然後再進去,顯示為343,i遞增為10,退出迴圈。
4樓:睿爾科技嵌入式
main()
}預處理完成後變成這樣,你應該可以看出來為什麼了吧
c語言的編寫風格很重要,不中寫法不是很好
5樓:
#include
#define b(x) ((x)*(x)*(x))main()
}看看輸出就清楚了:
1-------> i = 4
64-------> i = 7
343-------> i = 10
但強烈建議不這麼寫程式。
6樓:起源向量
列印出1,4,7,的立方
7樓:匿名使用者
應該不會顯示這個結果吧?而是:18
2764
125216
343512
計算機二級c語言最後一道大題是怎麼給分的
按結果計分,結果不對就沒有分。機試的經驗 多上機練習 題型歸類 如果把歷年的題型拿來分析,你會發現基本上常考的就那麼幾類題 字串 迴圈控制變數 變數型別 還有一些簡單的演算法。練習很重要,練得多了,對一些常見的錯誤就會很熟悉,例如 if i 1 或者 i i 之類的錯誤,這樣的錯誤考試中經常出現。總...
一道計算機組成原理的問題計算機主存位址空間大小為256MB
行長為64b,cache有8行,那乙個cache塊就有8 64b 512b,256mb 512b 2 19,即標記欄位是19位,你的想法沒錯,應該是沒看懂題意吧。1 cpu可訪問的最大儲存空間看位址位數字址匯流排18條故2 182 cpu可提供資料匯流排8條儲存空間為16kb故要拼湊乙個16k 8 ...
一道國家二級計算機c語言題目,我看不懂,求大神解釋下程式
sort函式是排序,在排序過程中,要用到交換兩個數,交換兩個數由swap函式完成。9 由於swap函式定義出現呼叫之後,所以要在呼叫之前先對swap函式宣告,函式宣告是函式首行後加分號,所以選擇c。10 sort函式是排序,要傳過來陣列,和陣列的大小。11 對swap函式進行呼叫,根據函式定義首行,...