#include<stdio.h>
char buf = 0;
void ungetch(int c);
int main(void)
{
int c;
c = '*';
ungetch(c);
return 0;
}
/* getch: get a (possibly) pushed back character */
{
int c;
if(buf!=0)
c = buf;
else
buf =0;
return c;
}
/* ungetch: push a character back into input */
void ungetch(int c)
{
if(buf != 0)
printf("ungetch: too many characters\n"); else
buf = c;
}
I2luY2x1ZGU8c3RkaW8uaD4KCmNoYXIgYnVmID0gMDsKCmludCBnZXRjaCgpOwp2b2lkIHVuZ2V0Y2goaW50IGMpOwoKaW50IG1haW4odm9pZCkKewogICAgaW50IGM7CgogICAgYyA9ICcqJzsKCiAgICB1bmdldGNoKGMpOwogICAgCiAgICB3aGlsZSgoYz1nZXRjaCgpKSE9RU9GKQogICAgICAgIHB1dGNoYXIoYyk7CgogICAgcmV0dXJuIDA7Cn0KCi8qIGdldGNoOiBnZXQgYSAocG9zc2libHkpIHB1c2hlZCBiYWNrIGNoYXJhY3RlciAqLwoKaW50IGdldGNoKHZvaWQpCnsKICAgIGludCBjOwoKICAgIGlmKGJ1ZiE9MCkKICAgICAgICBjID0gYnVmOwogICAgZWxzZQogICAgICAgIGMgPSBnZXRjaGFyKCk7CgogICAgYnVmID0wOyAKICAgIHJldHVybiBjOwp9CgovKiB1bmdldGNoOiBwdXNoIGEgY2hhcmFjdGVyIGJhY2sgaW50byBpbnB1dCAqLwoKdm9pZCB1bmdldGNoKGludCBjKQp7CiAgICBpZihidWYgIT0gMCkKICAgICAgICBwcmludGYoInVuZ2V0Y2g6IHRvbyBtYW55IGNoYXJhY3RlcnNcbiIpOwogICAgZWxzZQogICAgICAgIGJ1ZiA9IGM7Cn0K