[問題] C K&R example問題

看板C_and_CPP (C/C++)作者 (沒有暱稱)時間9年前 (2016/12/12 17:29), 9年前編輯推噓0(0010)
留言10則, 4人參與, 最新討論串1/1
The C programming language 2nd p.76 reverse polish notation http://i.imgur.com/c68mx12.jpg
http://i.imgur.com/pi2j4V6.jpg
請問第二張圖的最後兩個func,getch&ungetch是做什麼的,英文太爛看不懂他的解釋. 網路上也有外國人問這問題,不過他說沒用ungetch(),程式還是運作正常. 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.216.7.85 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1481534981.A.EDD.html ※ 編輯: anoymouse (61.216.7.85), 12/12/2016 18:21:13

12/12 18:49, , 1F
前面 while loop 的 getch() 最後跳離時一定是 get 到
12/12 18:49, 1F

12/12 18:49, , 2F
一個非數字的字元,如果你不用 ungetch() 歸還回去
12/12 18:49, 2F
是說collect interger part?

12/12 18:50, , 3F
parse 時就會常常莫名其妙遺失數字後面緊接的字元
12/12 18:50, 3F

12/12 19:12, , 4F
有中文版的, 寫的還蠻清楚的, 要不要買回來對照。
12/12 19:12, 4F

12/12 19:13, , 5F
不想買的話到書局翻一下應該不會花太多時間。
12/12 19:13, 5F

12/12 19:15, , 6F
如果你有寫過 lexer 會比較好理解為什麼要放回去。
12/12 19:15, 6F

12/13 02:50, , 7F
getch 讀字元ungetch還字元
12/13 02:50, 7F

12/13 02:51, , 8F
要比較多解釋的話可以看getc 跟ungetc的說明
12/13 02:51, 8F
請問是因為運算子緊接在運算元而沒空格的話就會出錯 因為運算子會被捨棄? ※ 編輯: anoymouse (61.216.7.85), 12/13/2016 09:36:49 ※ 編輯: anoymouse (61.216.7.85), 12/13/2016 13:53:57

12/13 14:36, , 9F
getop() 處理完後,其他 func 要接著處理剩下的字串
12/13 14:36, 9F

12/13 14:36, , 10F
放回去才能讓其他的 func 拿到正確的字元
12/13 14:36, 10F
文章代碼(AID): #1OJcu5xT (C_and_CPP)
文章代碼(AID): #1OJcu5xT (C_and_CPP)