{
int i, index, count;
char a, ch, str[80];
scanf("%c\n", &a);
i=0;
index=-1;
count=0;
ch=getchar();
for(i=0; ch!='\n'; i++){
str[i]=ch;
count++;
ch=getchar();
}
//换行符结束循环
for(i=0; ch!='\n'; i++){
//把字符赋值给数组str的元素
str[i]=ch;
//统计字符数
count++;
//获取字符
ch=getchar();
}
你这段代码没有实现查找字符的功能。for循环只是输入字符串,并保存到数组中。
ch=getchar(); //读取一个字符
for(i=0; ch!='\n'; i++){ //如果字符不是回车符(如果是回车符就结束循环)
str[i]=ch; //把读取的字符保存到数组中
count++; //数量加1
ch=getchar();//继续读取一个字符
}
参考下面的代码,下面的代码实现的功能是:输入需要查找的字符保存到a中,然后输入一串字符串,统计a在字符串中出现的次数。
#include <stdio.h>
int main()
{
int i, index, count;
char a, ch, str[80];
scanf("%c\n", &a);
i=0;
index=-1;
count=0;
ch=getchar();
for(i=0; ch!='\n'; i++)
{
str[i]=ch;
if(ch==a) //统计a出现的次数
count++;
ch=getchar();
}
printf("%d",count);
return 0;
}