以下是编写getch和ungetch的程序示例:#define BUFSIZE 100char buf[BUFSIZE]; /* buffer for ungetch */int bufp = 0; /* next free position in buf */int getch(void) /* get a (possibly pushedback) character */{return (bufp > 0) ? buf[bufp]: getchar();}void ungetch(int c) /* push character back on input */{if (bufp >= BUFSIZE)printf("ungetch: too many characters\n");elsebuf[bufp++] = c;}