布隆迪咖啡多少度水:1、编写一个程序,判定一个字符串是否是另一个字符串的子串,若是,返回子串在主串中的位置。要求:

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/30 02:47:04
谁能帮我解题啊 !11!!!多谢 !!!!!!!!!!!11

/* 查找source字符串,与target字符串中任意字符第一次匹配时,即返回该字符串在source字符串中的位置,位置从1算起;若找不到,则返回-1 */
int find_char( char const *source, char const *target )
{
lens = strlen(source);
lent = strlen(target);
if(lens>lent)
return;
for(i=0;i<=lent-lens;i++)
if(strcmp(source,target+i)==0)
return i+1;
return -1;
}

strpbrk函数?

找了个例子? 不过返回的是指针位置!稍加修改即可
#include <stdio.h>;

/* 查找source字符串,与target字符串中任意字符第一次匹配时,即返回该字符在source字符串中的位置 */
char *find_char( char const *source, char const *target )
{
char const *s, *t;

for ( t = target; *t != '\0'; t++ ) {
for ( s = source; *s != '\0'; s++ ) {
if ( *s == *t )
return (char *) s;
}
}

return NULL;
}