微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我不明白这一点,而 C 中的条件

如何解决我不明白这一点,而 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' 的值为 0。所以它会一直循环到字符串结束。

添加行 s1[i] = s2[i]; 以将 '\0' 放在末尾。

根据定义,C 风格的字符串是以 '\0' 结尾的字符序列。如果你忘记把它放在最后,你可能会遇到麻烦。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。