在某字符串中查找子字符串第一次出现的位置
c编程:在某字符串中找出指定子串在该字符串中第一次出现的位置c语言编程要求如下:计以数组名作为参数的函数,用来在某字符串中找出指定子串在该字符串中第一次出现的位置。此位置...
c编程:在某字符串中找出指定子串在该字符串中第一次出现的位置
c语言编程
要求如下:
计以数组名作为参数的函数,用来在某字符串中找出指定子串在该字符串中第一次出现的位置。此位置用子串第一个字符在字符串中的位置来表示,如该字符串不包含子串则返回0。并设计主函数测试上述函数的功能 展开
c语言编程
要求如下:
计以数组名作为参数的函数,用来在某字符串中找出指定子串在该字符串中第一次出现的位置。此位置用子串第一个字符在字符串中的位置来表示,如该字符串不包含子串则返回0。并设计主函数测试上述函数的功能 展开
3个回答
展开全部
字符串中的位置用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);
}
如该字符串不包含子串则返回 -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);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询