在某字符串中查找子字符串第一次出现的位置

2024-12-03 07:43:55
推荐回答(3个)
回答1:

字符串中的位置用0,1,2,3...表示
如该字符串不包含子串则返回 -1, 包含返回 位置

#include "stdio.h"
int f(char *s, char *a)
{
int ls,la,i;
int flag = -1;
ls = strlen(s);
la = strlen(a);
if (la > ls) return -1;
for (i=0;i<=ls-la;i++){
if (strncmp(s+i,a,la)==0) return i;
}
return flag;
};

void main()
{
char s[]="abcd1234xyz";
char a[]="xy";
int i;
i = f(s,a);
if (i < 0) printf("No match\n"); else printf("Location %d\n",i);
}

回答2:

先测出2个字符串长度
然后比较是否完全相等

这个书上有原代码,我发给你?

回答3:

自己做的,没有用库函数:网页链接