我在 C 语言中不明白这一点



任务是在C中重现函数strcpy的行为。我发现了这个代码:

char    *ft_strcpy(char *s1, char *s2)
{
int i;
i = 0;
while (s2[i])
{
s1[i] = s2[i];
i++;
}
s1[i] = s2[i];
return (s1);
}

我不了解while的情况。为什么我可以把";s2[1]";作为条件?在这种情况下,谴责说了什么?

它检查s2[i]的值。字符串终止符''的值为0。因此它将循环直到字符串结束。

添加行s1[i] = s2[i];以将''置于末尾。

根据定义,C样式字符串是以''结尾的一系列字符。如果你忘了把它放在最后,你可能会遇到麻烦。

相关内容

最新更新