为何当y为int类型时scanf()后面要加两个getchar()才行,要是不加getchar()的话,后面的data的值就会等于y;加一个getchar()的话,data的值为\n;
当y为char类型时scanf()后面要加一个getchar()才行,要是不加getchar()的话,后面的data的值就会等于\n;
#include <stdio.h>
#define M 3
int main()
{
//char a[M] = {'s','d','e','r','y'};
char a[M];
char data;
int i;
int j=0;
char y;
printf("请输入:");
for (i = 0; i < M; i++)
{
scanf("%c",&a[i]);
getchar();
}
printf("结果为:");
for (i = 0; i < M; i++)
{
printf("%c ",a[i]);
}
printf("\n");
printf("哈哈哈");
scanf("%c",&y);
getchar();
//getchar();
printf("请输入要查询的字母:");
scanf("%c",&data);
while (data!=a[j])
{
j++;
}
printf("为:%d ",j);
getchar();
getchar();
return 0;
}