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");
}
なぜ-1の代わりに4が返されますか? y[0]='\o'
はありませんか?文字列の位置に関連する混乱
をオフセットされ、 'Y [0]' '実際にあります'o'' – Bathsheba
多分、入力例と期待される出力を投稿することができます。 – RoadRunner
入力の例がf( "knosos"、 "os")で出力が4のnの値ですが、教師が与えた演習ですが、フレーズが混乱していますアップ。 – user2877858