实现strstr 函数(字符串的查找)
实现strstr思想:是从源字符串中依次寻找目标字符串的首元素,再依次比较之后的字符串,如果目标字符串与所找位置都相同就返回,否则从源字符串的下一个字符开始寻找,一次循坏。
#include<Aventador_SQ.h>
int Strstr(char arr[], const char arr1[],int* location)
{
int i = 0;
int ArrLen = strlen(arr);
int Arr1Len = strlen(arr1);
int temp = ArrLen - Arr1Len;
for (i = 0; i <= temp; i++)
{
for (int j = 0; j < Arr1Len; j++)
{
if (arr[i + j] != arr1[j])
{
break;
}
else
{
if (j == Arr1Len -1)
{
*location = i + 1;
return 1;
}
}
}
}
return 0;
}
int main()
{
int location = 0;//记录字符串首次出现的位置
char arr[1024];
char arr1[1024];
printf("请输入源字符串:");
scanf("%s", arr);
printf("请输入待查字符串:");
scanf("%s", arr1);
int temp = Strstr(arr, arr1, &location);
if (temp == 1)
{
printf("找到了\n");
printf("该字符串首次出现的源字符串的位置是:第%d位\n", location);
}
else
{
printf("没找到\n");
}
system("pause");
return 0;
}
珍&源码