→ narukaze: 你的形態是char 但你要計算數字 所以需要減去'0'(0x30) 01/11 18:23
→ narukaze: 相減的結果才會是你要的0~9 01/11 18:24
→ narukaze: 可以查查ASCII, 或是printf("%x", '0'); 01/11 18:26
推 bibo9901: 原po的問題應該是為什麼字串要用 '\0' 結尾 01/11 18:26
→ osnq: 問題是,這樣的寫法也太奇怪了吧,可讀性也不好 01/11 18:27
→ bibo9901: 這是因為C規定 "字串" = "用\0結尾的char array" 01/11 18:28
→ narukaze: 啊 好像是耶 看錯了XD 01/11 18:28
回覆:謝謝大大回答!!我知道字串後面有\0,也知道為何要-'0'但是不了解為何以下這樣
才給過ex:char id[11];id[10] = '\0';
而我單純宣告char id[10];不能過,我在其他程式碼不用用上面那個方法宣告也沒有錯誤
※ 編輯: LouisFFs (1.172.133.55), 01/11/2015 18:53:01
→ narukaze: 你要總共需要11個字元的空間來存 包含身分證的10碼+'\0' 01/11 19:18
→ narukaze: 至於 id[10] = '\0'; 可以不用加 01/11 19:19
→ narukaze: 應該說 上面那行可以省略 01/11 19:20
→ LouisFFs: 謝謝!! 我忘記我的空間不夠了哈哈 01/11 20:04
推 Killercat: erh, 拜託,這個用迴圈好嗎 XD 不要硬code 9876543... 01/11 20:17
→ Killercat: 他是一個總長度為10的char array 01/11 20:19
→ LouisFFs: 哈哈哈~小弟新手 一想到有公式就直接帶進去哈哈 01/11 23:29
→ MOONRAKER: 你去超市會說 小姐你好 我要買那一手啤酒的第五瓶嗎 01/12 17:45
→ uranusjr: 我只知道我去書店都會拿從上面數來第三本 01/13 11:31