討論串[FAQ&FME] C 語言新手十誡
共 14 篇文章
內容預覽:
先別急著說在 K&R 找不到. 在 K&R 2e 中. p.53 有提到一些該避免的寫法. (<題外話>. 例如:. x = f() + g();. 如果 f 和 g 都會存取某個變數,則可能有問題. 因為 f 和 g 的運算順序看編譯器而定. => 這也就是很多人對 associativity 的
(還有616個字)
內容預覽:
是第十點吧? macro中 的變數一定要用括號括起來. 至於為什麼?. 因為 編譯器所做的 並不是把數字帶入該變數 算出東西來. 它是把整個()裡的東西 都在該變數的位置取代掉. 也就是說 squared(a)a*a-a*a. 用squared(++x). 這樣的式子 經由編譯器展開. 會變成這樣
(還有135個字)