1. 程式人生 > >初夏小談:有關函式strstr(字串的查詢)

初夏小談:有關函式strstr(字串的查詢)

實現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;
}

     

                                                                                                                                                                                                        珍&原始碼