[問題] C K&R example問題

作者: anoymouse (沒有暱稱)   2016-12-12 17:29:38
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(),程式還是運作正常.
謝謝
作者: Schottky (順風相送)   2016-12-12 18:49:00
前面 while loop 的 getch() 最後跳離時一定是 get 到一個非數字的字元,如果你不用 ungetch() 歸還回去parse 時就會常常莫名其妙遺失數字後面緊接的字元
作者: descent (「雄辯是銀,沉默是金」)   2016-12-12 19:12:00
有中文版的, 寫的還蠻清楚的, 要不要買回來對照。不想買的話到書局翻一下應該不會花太多時間。如果你有寫過 lexer 會比較好理解為什麼要放回去。
作者: firejox (Tangent)   2016-12-13 02:50:00
getch 讀字元ungetch還字元要比較多解釋的話可以看getc 跟ungetc的說明
作者: nsc (...)   2016-12-13 14:36:00
getop() 處理完後,其他 func 要接著處理剩下的字串放回去才能讓其他的 func 拿到正確的字元

Links booklink

Contact Us: admin [ a t ] ucptt.com