我很难理解将 for 循环的测试条件设置为指针的确切作用,甚至在没有任何比较的情况下将其设置为变量值。我正在使用的一个代码示例是:
int f ( char *s, char *t) {
char *p1, *p2;
for (p1 = s; *p1; p1++) {
for (p2 = t; *p2; p2++)
if (*p1==*p2) break;
if (*p2 == ‘\0’) break;
}
return p1-s;
}
我不是在寻找函数的解释,而只是对两个 for 循环的测试条件的解释。