2018.03.13 | C与C++ | 1 赞 | 1 条评论


请注意,本文编写于 878 天前,最后修改于 534 天前,其中某些信息可能已经过时。

1、gets在scanf前调用,这种调用一般不会出现什么问题,可以正常输入。

2、scanf在gets前调用,这种情况就会出现问题,当输入完scanf中的变量时,运行到gets函数,则不让输入任何字符

出现此问题的原因是gets函数接收了scanf输入完后的回车符,解决的办法是在scanf和gets中间,用getchar函数接收掉回车符,这样就不会出现任何问题了。

参考资料:
http://blog.csdn.net/wayne_hust/article/details/8164530

本文链接:https://idealclover.top/archives/337/

本作品由 idealclover 采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可,转载请注明出处。

标签: 输入

1

只有一条评论 QAQ


  1. Michael
    Michael 回复

    scanf("%dn")让scanf自己把换行符读走

🤔关于我
翠翠 idealclover
南京大学商学院 2016 级本科生
了解更多
🏠关于博客
基于 Typecho 博客框架
使用个人创作的 clover 主题
💾博客小程序
💸支持我