关于getchar()的问题
我想请教一下下面程序中getchar()的作用是什么
为什么没有getchar()程序运行的结果就不对?
#include<stdio.h>
#include<string.h>
int main()
{
int N,k;
while(scanf("%d",&N)&&(N!=0))
{
char a[1000][15];
int count[1000]={0};
int max=0;
count[0]=1;
getchar();
for(int i=0;i<N;i++)
{
gets(a[i]);
for(int j=0;j<i;j++)
{
if(strcmp(a[i],a[j])==0)
{
count[j]++;
}
}
}
for(int m=0;m<N;m++)
{
if(count[m]>max)
{
max=count[m];
k=m;
}
}
puts(a[k]);
}
return 0;
}
[解决办法]
getchar读取的scanf输入数字后按下的回车
楼主 可以这样看一下
char c = getchar();
printf("C = %c\n",c);
[解决办法]
你的程序中getchar()用于接收回车符。
[解决办法]
while(getchar() != '\n') countinue;
[解决办法]
将getchar();改为rewind(stdin);试试。
[解决办法]
最好用fflush
[解决办法]