討論串[FAQ&FME] C 語言新手十誡
共 14 篇文章
首頁
上一頁
1
2
3
下一頁
尾頁

推噓1(1推 0噓 0→)留言1則,0人參與, 最新作者UNARYvvv (有趣生活)時間20年前 (2005/08/29 17:19), 編輯資訊
0
0
0
內容預覽:
先別急著說在 K&R 找不到. 在 K&R 2e 中. p.53 有提到一些該避免的寫法. (<題外話>. 例如:. x = f() + g();. 如果 f 和 g 都會存取某個變數,則可能有問題. 因為 f 和 g 的運算順序看編譯器而定. => 這也就是很多人對 associativity 的
(還有616個字)

推噓1(1推 0噓 0→)留言1則,0人參與, 最新作者FRAXIS (喔喔)時間20年前 (2005/08/29 16:39), 編輯資訊
0
0
1
內容預覽:
C FAQ有中文的版本. http://twpug.net/docs/ccfaq/node1.html. 原書的內容比網路版的內容多. --. 發信站: 批踢踢實業坊(ptt.cc). ◆ From: 140.119.162.51.

推噓1(1推 0噓 0→)留言1則,0人參與, 最新作者cppguide (洗屁屁)時間20年前 (2005/08/29 16:02), 編輯資訊
0
0
0
內容預覽:
可以請問一下這一條規定 源自那嗎?. 我的K&R那本書找不到耶!!!. 是在C99中的新的規定嘛 or ............. --. 發信站: 批踢踢實業坊(ptt.cc). ◆ From: 220.131.137.219.

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者cppguide (洗屁屁)時間20年前 (2005/08/28 22:15), 編輯資訊
0
0
0
內容預覽:
i=squared(++x);. 展開隻如下. i=++x*++x-++x*++x. 再加上運算優先括號. i=[(++x*++x)-(++x*++x)]. 又運算方向為由左至右,因此. i=[(++x*++x)-(++x*++x)]. 4 5. 遇到)時做*運算 此時x=5. 所以為 5*5=25

推噓1(1推 0噓 4→)留言5則,0人參與, 最新作者StubbornLin (Victor)時間20年前 (2005/08/28 00:45), 編輯資訊
0
0
1
內容預覽:
是第十點吧? macro中 的變數一定要用括號括起來. 至於為什麼?. 因為 編譯器所做的 並不是把數字帶入該變數 算出東西來. 它是把整個()裡的東西 都在該變數的位置取代掉. 也就是說 squared(a)a*a-a*a. 用squared(++x). 這樣的式子 經由編譯器展開. 會變成這樣
(還有135個字)
首頁
上一頁
1
2
3
下一頁
尾頁