看板 C_and_CPP 關於我們 聯絡資訊
1:字串複製 void strcpy(char *s, char *d) { for (; *d = *s; s++, d++) ; } 請問字串結尾是/0為什麼可以當終止值呢 我試了一下NULL也可以 for (; '/0'; s++, d++) ; 但我這樣寫就不行 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.136.227.244 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1462699119.A.441.html
chuegou: 怪怪的 *d = '/0' 這樣嗎? 05/08 17:21
bjk: 剛剛有好心板友提醒我\0打錯 哈哈 05/08 17:32
bjk: for (; '\0' ; s++, d++) 這樣寫就會終止 05/08 17:33
CP64: 因為 a = b 會回傳 b 05/08 17:39
CP64: 但是這用法沒看過 字串尾算 false 嗎? 05/08 17:40
CP64: 訂正 字串尾 -> "\0" 05/08 17:41
bibo9901: '\0' 就是 0 05/08 18:54
uranusjr: 正確來說 '\0' 是 (char)0 05/08 18:59
uranusjr: 但不管是哪個都會在邏輯運算時 coerce 成 false 05/08 19:00
stupid0319: 這寫法很邪魔歪道,還不錯 05/08 19:02
MOONRAKER: 阿你持續條件永遠為false當然終止阿 05/08 23:43