查找指定字符串,代码for循环那里不明白!!

{
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;
}