c中的自定义"strcpy"函数

Dee*_*pak -1 c

此方法可以将内容从1个字符串复制到另一个.我的问题是当它到达字符串末尾时它是如何停止的?怎么知道什么时候停止?

void strcpy2(char *s, char *t)
{
  while (*s++ = *t++)
    ;
}
Run Code Online (Sandbox Code Playgroud)

Bal*_*ick 6

它会停止,因为*s评估为0.

也就是说,复制的最后一个字符是\0(字符串终止符).

求值为0是在C中表示布尔值false的方式,因此当发生这种情况时循环退出.