我正在编写 的实现strend(s, t)
,它检查字符串是否以 strings
结尾t
。
例如,如果 -
char s[] = "abcdefoo";
char t[] = "foo";
那么,strend(s, t)
是真的,因为以 ."abcdefoo"
结尾"foo"
。
但是,如果——
char s[] = "acefooD";
char t[] = "foo";
那么,strend(s, t)
是假的,因为"acefooD"
不以"foo"
.
这是我的代码。它总是返回0
(false)。我不明白为什么。
int strend(char *s, char *t)
{
char *i;
i = s + strlen(s) - strlen(t);
while (*i++ == *t++ != '\0')
;
if (*i == '\0')
return 1;
return 0;
}
为什么它不起作用?
PS:这是K&R2中的一个练习。