c 语言中 scanf被跳过问题的解决方法

2025-11-24 03:58:06

c 语言中 scanf被跳过问题的解决方法

在运行scanf函数时,scanf常常会被跳过。这是因为当你进行过了scanf函数后, 在第二次scanf函数时,

由于缓存区里依然存着第一次结束时送入的回车符,在第二次时没有读入就直接把回车符送入了,所以没有真正起到读入数据的作用。这个时候我们清除缓冲区就可以了。

解决方法:

scanf前面加rewind(stdin);

或者

scanf前面 fflush(stdout)

不过在Linux 下面这两种方法都没用

Linux 下的解决方法:

setbuf(stdin, NULL);//使stdin输入流由默认缓冲区转为无缓冲区

    怎么让微博涨粉?5大秘笈帮你快速提升影响力
    兰的成语

    Copyright © 2022 北智游戏学院 - 活动攻略与新手教学 All Rights Reserved.