[英]I don't understand this while condtition in C
任务是在 C 中重现 function 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'
值为0
。 所以它会循环到字符串的末尾。
线s1[i] = s2[i];
添加以将'\0'
放在末尾。
根据定义,C 风格的字符串是以'\0'
结尾的字符序列。 如果你忘记把它放在最后,你可能会遇到麻烦。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.