【发布时间】:2016-11-14 01:50:13
【问题描述】:
我遇到了这个问题,如果有任何解决方法的提示,我们将不胜感激。
此函数在 original 中查找 toFind 的第一次出现,并返回一个整数,表示 toFind 子字符串在 original 中的第一个元素的索引。例如,如果 toFind 是 'man' 而 original 是 'superman',则函数将返回 6,因为 'spiderman' 中的 'man' 的开头是位置 7。如果函数没有找到子字符串,它应该返回 -1。
到目前为止我所拥有的:
{
printf("%s\n%s\n", original, toFind);
int j, i, k, start, length;
i = 0;
j = 0;
k = 0;
length = (int)strlen(original);
start = 0;
printf("%d\n", length);
for (i = 0; i < strlen(toFind); ++i)
{
while (j != (length - 1))
{
printf("j: %d\n", j);
if (toFind[i] == original[j])
{
while (k != strlen(toFind))
{
if (toFind[i + k] == original[j + k])
{
printf("k: %d\n", k);
k = k + 1;
start = j;
}
else
{
k = 0;
}
}
}
else
{
++j;
}
}
}
printf("%d\n", start);
if (k == strlen(toFind))
{
printf("Word found\n");
return start;
}
else
{
printf("Word not found\n");
return -1;
}
return 0;
【问题讨论】:
-
您需要描述一个具体的问题。你所拥有的有什么问题?它怎么没有按你的意愿工作?
-
使用
strstr...
标签: c arrays function substring c-strings