【Mark】在case中gets为什么没用呢 19_12_9

https://zhidao.baidu.com/question/563510442.html----参考网址

  • 缓冲区问题
  • 最简单的解决方法就是刷新缓冲区
fflush (stdin); /* 增加这一行 刷新缓冲区 */
  • 也可以设置无缓冲区,不过那样会增加中断次数,除非特别必要,否则不建议
  • getc的读取方法比较有趣
for (n = 0; n < SIZE; n ++)
if ((b[n] = getc (stdin)) == '\n')
     break;
b[n] = '\0';

scanf和输出流<<都会跳过空格和回车,认为那是默认的分割符



发布了73 篇原创文章 · 获赞 162 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43763494/article/details/103464948