[问题] 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