1
#include <stdio.h>
#include <stdlib.h>
int f(char x[], char y[])
{
int i, j, n = strlen(x) - strlen(y);
while (n >= 0) {
for (i = n, j = 0; y[j] != '\0' && x[i] == y[j]; ++i, ++j);
if (j > 0 && y[j] == '\0')
return n;
n--;
}
return -1;
}
int main()
{
f("knosos", "os");
}
爲什麼這會返回4而不是-1?是不是y[0]='\o'
?與字符串位置相關的混淆
'Y [0]'其實' 'o'' – Bathsheba
也許你可以發佈示例輸入和預期輸出。 – RoadRunner
那麼示例輸入是f(「knosos」,「os」),並且輸出是4,這是n的值,但我不明白這是如何工作的。這是老師給出的練習,但是這個練習是混亂的向上。 – user2877858