C语言查找字符串位置函数。请高手帮忙解决

发布网友 发布时间:2022-04-20 08:39

我来回答

3个回答

热心网友 时间:2023-06-29 03:07

#include<stdio.h>

#include<string.h>

int findstr(char *s_str,char *d_str);

int main(void) {

char s1[80],s2[80];

int n;

printf("请输入一个字符串:");

gets(s1);

printf("请输入你要查找的字符串:");

gets(s2);

n=findstr(s1,s2);

printf("%s在%s里共有%d个\n",s2,s1,n);

return 0;

}

int findstr(char *s_str,char *d_str) {

int i,j,k,count=0;

char temp[80];

int length=strlen(d_str);

for(i=0;i<strlen(s_str);i++) {

k=0;

for(j=i;j<i+length;j++)

temp[k++]=s_str[j];

temp[k]='\0';

if(!strcmp(temp,d_str)) count++;

}

return count;

}

热心网友 时间:2023-06-29 03:08

/*

【水杯】在【精品办公水杯.】中的索引位置是:8。

Press any key to continue

 

*/

#include <stdio.h>
int findstr(char *s,char *d) {
char *p = s,*q;
int i;
while(*p) {
i = p - s;
q = d;
while(*p == *q) { p++; q++; }
if(*q == '\0') return i;
p = s + (++i);
}
return -1;
}
int main() {
char *s = "精品办公水杯.";
char *d = "水杯";
int result = findstr(s,d);
if(result >= 0) printf("【%s】在【%s】中的索引位置是:%d。\n",d,s,result);
else printf("没找到。\n\n");
return 0;
}

热心网友 时间:2023-06-29 03:08

请把 printf("%c\n",pf);//显示字符串的第一个字母;
替换成 printf("%c\n",*pf);//显示字符串的第一个字母;

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com