当前位置: 代码迷 >> 综合 >> C程序设计语言 4-9
  详细解决方案

C程序设计语言 4-9

热度:29   发布时间:2024-01-20 04:22:42.0

 练习4-9 以上介绍的getch和ungetch函数不能正确地处理压回的EOF。考虑压回EOF时应如何处理?请实现你的方案。

#include <stdio.h>
#define BUFSIZE 10
#include "calc.h"char buf[BUFSIZE];
int bufp = 0;int getch(void)
{return (bufp > 0) ? buf[--bufp] : getchar();
}void ungetch(int c)
{if (bufp >= BUFSIZE)printf("ungetch: too many characters\n");else if (c != EOF)buf[bufp++] = c;return;
}