討論串[FAQ&FME] C 語言新手十誡
共 14 篇文章

推噓3(3推 0噓 1→)留言4則,0人參與, 最新作者hateexam (456)時間19年前 (2005/08/25 20:19), 編輯資訊
0
0
0
內容預覽:
小請教大大能不能稍微講解& *的用法. 這個地方的概念很模糊. 也不太小的要怎樣使用. 像char *pr;. *pr='t';. 為何錯誤的原因. 能不能再多講解些. 謝謝!!1!. m(_ _)m. --. 發信站: 批踢踢實業坊(ptt.cc). ◆ From: 218.172.80.10

推噓2(2推 0噓 1→)留言3則,0人參與, 最新作者sekya (懶~皮卡~暈)時間19年前 (2005/08/26 23:06), 編輯資訊
0
0
0
內容預覽:
看看這個適不適合加進入。. 注意變數的range,要想辦法避免這些問題。. 錯誤範例: PS.在某些平臺下 b 也會ok!! 正常來說 b always false.. #include <stdio.h>. int main(void){. unsigned char a = 0x80;. cha

推噓1(1推 0噓 7→)留言8則,0人參與, 最新作者khoguan (Khoguan Phuann)時間19年前 (2005/08/27 01:01), 編輯資訊
0
0
0
內容預覽:
感謝提供這個寶貴的問題,值得收入十誡或 FAQ 中。. C++ 中的 standard conversion 規則,為了相容於 C,. 整個從 C 繼承過來,但是 C 在這方面的規則實在太複雜,. 很容易踩到陷阱。. slchen大大曾在哪個平台用哪種compiler 編譯執行上述. 程式而得到 s
(還有190個字)

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者yaca (Jay)時間19年前 (2005/08/28 00:26), 編輯資訊
2
0
0
內容預覽:
在k大原po的第十一點,macro中,如果我的程式碼:. #include<stdio.h>. #define squared(a)a*a-a*a. int main(void){. int x=3,i;. i=squared(++x);. printf("i=%d\n",i);. return 0

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