如何解决为什么在一种情况下需要清除缓冲区
我编写了一个程序来学习 C。
#include <stdio.h>
#define LEN 10
int main(){
char name[LEN],c=0;
int counter=0,exit=0;
printf("Enter your name: ");
do{
c = getchar();
if(c=='\n')
exit = 1;
else{
name[counter] = c;
counter++;
}
} while(!exit && counter < LEN-1);
name[counter] = 0;
printf("You entered %s and counter is %d \n",name,counter);
if(counter == LEN-1)
while (getchar() != '\n');
int choice;
printf("Enter digit:");
scanf("%d",&choice);
printf("Your choice: %d \n",choice);
return 0;
}
程序要求/读取一个字符串,然后要求/读取一个数字。
它对我有用... 我添加了消耗直到换行的循环以清除换行... 我可能没有研究得足够多,但有人可以解释为什么只有在用户输入填充数组的字符串(包括零)(?)时才需要这样做
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。