对ungetc将字符输入回stdin的一点理解

这里只讨论用ungetc将字符传入stdin时的情况

1.传回的字符是以压栈形式 后入先出

传入多个字符如'131',也是读取末尾的字符1

2.如果stdin没有字符 传回后会开启一个缓冲区 大小为1 必须在被getchar后才能下次ungetc 否则传入失败

但当stdin本来就有字符未读取完时 如getchar留有多个字符未被读取时 缓冲区大小将是getchar时输入的大小 这时候可以多次ungetc直到缓冲区被填满为止

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页