您的位置:首页 > 其它

gcc 多次调用scanf %c时,"\n"引发的程序异常

2015-08-25 01:13 253 查看
版权声明:本文为博主原创文章,请注明出处。 https://blog.csdn.net/haoyoWang/article/details/47965093

多次调用scanf %c时,”\n”引发的程序异常

因为scanf %c 调用时,只从输入流读入一个字符;调用结束后,输入流结尾的“\n”遗留在输入缓冲区中;下次调用scanf %c时,自然会先读取”\n”。所以在程序中要做数据缓冲区的清理动作。

VC支持使用fflush清空缓冲区,gcc就不支持了。可以使用 while(getchar()) 小技巧数据缓冲区。

while((getchar())!='\n') //Clean the data stream
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐