推 LPH66: %lf 是小寫 L 不是數字 1 04/22 18:15
→ LPH66: (是說課本裡沒對這點強調過嗎...?) 04/22 18:16
→ LPH66: %1f 會被認成輸入 %f 即 float 浮點數, 所以才會有你的2. 04/22 18:17
→ LPH66: 那個 1 會被解釋為最多一個字, 所以你會發現即使改成 float 04/22 18:18
→ LPH66: 你輸入的東西都只有一位數 04/22 18:18
→ LPH66: 也由於最多一個字所以碰到 '.' 字 scanf 就不知道怎麼辦了 04/22 18:19
→ LPH66: 才會只讓你輸入一次; 而 %f 跟 double 對不上所以讀進的值 04/22 18:21
→ LPH66: 是錯亂的, 這就解釋了你的 1. 04/22 18:21
→ LPH66: (所以我個人覺得教 scanf 時一定要強調那是 L 不是 1 ...) 04/22 18:22
→ MOONRAKER: 這種打字機時代的錯誤居然30年後還沒根除 X( 04/22 18:29
感謝L大大,到剛剛為止我都一直以為float和double都是用%f顯示,難怪之前寫的程式
用到double都會怪怪的,當初看答案1f想說是不是預留空間,沒想到是L 囧~~
※ 編輯: NMOSFET (163.18.29.27), 04/22/2015 22:01:30
推 LPH66: printf 的時候兩者沒差, 但 scanf 時就有差了 04/22 23:44
→ LPH66: 所以為了簡單好記起見對應著用保證 OK 04/22 23:44
→ firejox: 這一切都是字型的錯~ 04/22 23:47
推 cjcat2266: 早期需要輸入CD上認證碼的遊戲,我也常常搞混O和L 04/23 01:28
推 EdisonX: 讓我想到以前瘋找 c1.exe 的事… 04/23 08:21
→ MOONRAKER: 小時候看dbase的書,他是寫給30年前只用過打字機的人看 04/23 09:45
→ MOONRAKER: 的,第一章就講「我知道很多人打字習慣用小寫l代替1, 04/23 09:45
→ MOONRAKER: 甚至小寫o代替0,不要這樣…」結果現在還是不時發生 04/23 09:46
推 LiloHuang: 像我用 Consolas 字型就沒這問題,0 中間會有一斜撇 04/23 20:09
→ LiloHuang: 1 跟 l 長的也很不一樣 XD 建議可以換一個好一點的字體 04/23 20:10
推 KoenigseggG: 怒噓,Monaco 只第六? 04/23 20:46
→ KoenigseggG: 是第八QQ 04/23 20:46
→ uranusjr: 以前也愛 Monaco, 但現在覺得不如用 Menlo 和 Consolas 04/23 23:23
→ uranusjr: 網頁上說得很中肯, Monaco 在字小(尤其沒有反鋸齒)的 04/23 23:23
→ uranusjr: 時候很讚, 但放大之後在現在的高解析度螢幕就不太行 04/23 23:24
推 KoenigseggG: 嗯嗯謝謝你的分享。 我就是喜歡 Monaco 的小寫a啊~ 04/23 23:56
→ KoenigseggG: 螢幕......目前只有筆電螢幕QQ 04/23 23:56
→ MOONRAKER: Monaco也太古意了一點(不過誰古得過pica阿) 04/24 00:22