C语言学习中连用两个scanf遇到的一个问题

来源:互联网 发布:阿里云服务器托管 编辑:程序博客网 时间:2024/05/20 04:49

用while语句求出了2的n次方

用seitch打印出了倒三角

在用C语言做登录界面时

在连用两个scanf时

先按一次回车再输入

循环回来时 无论输入什么都会再次进入循环

原因是回车储存在缓冲中

在循环时直接读取回车

导致数据错误

可以在 两个scanf中加入fflush(stdin);

比如

printf("\n请输入用户名:");
scanf("%c",&i);
getchar();
fflush(stdin);
printf("请输入密码:");
scanf("%c" ,&j);
getchar();

1 0