我正在尝试编写一个函数,该函数返回字符串中第一次出现子字符串的索引。
就像在摩天大楼中搜索“ysc”会返回 2。
似乎 strstr 正在完成它的工作,因为在 while 循环之后它输出了正确的子字符串的第一个字符,但它没有正确计数并返回正确的 int。
我可能设置错误,因为我将数组传递给函数并且在尝试使用嵌套循环时遇到了很多错误,所以我尝试了一个 while 循环,而不是编译但没有正确输出。
我对指针仍然很陌生,并将它们作为争论传递,所以那里可能存在问题。
有什么帮助!
int findSubstring(char *s, char substring[])
{
int j = 1;
char* strPtr = NULL;
while (strPtr == NULL)
{
strPtr = strstr(s, substring);
if (strPtr != NULL)
break;
j++;
}
cout << *strPtr << endl;
cout << "The substring begins at element: " << j << endl;
return j;
}