编写函数findsubstr(s, sub),在字符串s中查找字符串sub;若s中存在子字符串sub,则返回其在s的地址,否则返回NULL;
输入样例1:
hello, welcome to university.
welcome
输出样例1:
welcome to university.
输入样例2:
hello
helloworld
输出样例2:
Not Found.
代码如下:
#include <stdlib.h>
#include <stdio.h>
char *findsubstr(char a[],char b[])
{
char *p, *q;
int i,j;
for(i = 0; a[i] != '\0'; i++)
{
if(b[0] == a[i])
{
p = a + i;
q = b;
for(j = 0; b[j] != '\0'; j++)
{
if(*(q + j) != *(p + j))
break;
}//for
}//if
}//for
if(b[j] != '\0')
return NULL;
else
return p;
}
int main()
{
char a[64] = {0};
char b[64] = {0};
gets(a);
gets(b);
char *s = findsubstr(a, b);
if(s != NULL){
puts(s);
}
else{
puts("Not Found.");
}
}
也可以用strstr库函数轻松实现,findsubstr函数部分为:
char *findsubstr(char a[],char b[])
{
char *p = strstr(a,b);
return p;
}
版权声明:本文为yun_oyun原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。