请编写一个函数int func(char *str,char ch),它的功能是:求出str字符串

请编写一个函数int func(char *str,char ch),它的功能是:求出str字符串中指定字符ch的个数,并返回此值。c语言编程,题目看不懂

    #include<stdio.h>
    #include<string.h>
    int func(char *str,char ch)
    {
    int i;
    for(i=0;*str;str++)
    if(*str==ch)i++;
    return i;
    }
    int main()
    {
    int find;
    char a[80];
    printf("输入字符串\n");
    gets(a);
    find=func(a,'c');
    printf("%d",find);
    }

2.

#include<stdio.h>

int func(char *str,char ch)
{
int i = 0;
for(char *p=str;*p;p++)
if(*p==ch) i++;
return i;
}
int main()
{
int find;
char a[80];
printf("输入字符串\n");
gets(a);
find=func(a,'c');
printf("%d",find);
}

3.统计字符串首次出现字符c时所在位置

#include<stdio.h>

#include<string.h>

char str[100];//全局变量 

int getchr(char str[],char ch)

{

int count=0;

for(int i=0;str[i]!='\0';i++)

if(str[i]!=ch) 

count++;

else {count++;break;}

return count;//当字符串没有字符c时,返回的count值等于字符串长l 

}

int main()

{

int find,l;

char a[80];

printf("输入字符串\n");

gets(a);

l=strlen(a);

find=getchr(a,'c');

if(str[l]!='c'&&find==l)

find=0;//当字符串没有字符c时,返回的count值等于字符串长l ,将find置0

printf("字符c第一次出现在字符串中的位置\nfind=%d,字符串长l=%d",find,l);

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-06-20
int func(char *str,char ch)
{
int i = 0;
for(char *p=str, *p, p++)
if(*p==ch) i++;
return i;
}追问

这个程序是什么意思呢

追答

求出str字符串中指定字符ch的个数,并返回此值。

追问

谢谢

本回答被提问者采纳
第2个回答  2019-06-20
int func(char *str,char ch)
{
int cnt;

for(cnt=0;*str;str++)

if(*str==ch)cnt++;

return cnt;

}
相似回答