c - 关于 TCPL 中的 strcpy()

标签 c strcpy

我正在阅读 C 编程语言,当它到达 字符指针和函数 (5.5) 时,我遇到了问题。

5.5中,作者展示了四个版本的strcpy()。我的问题在于版本 3:

/*strcpy: copy t to s; pointer version 3*/
void strcpy(char *s, char *t)
{
    while (*s++ = *t++)
        ;
}

无法与“\0”进行比较。在这样的条件下,循环的终止又是如何工作的呢?

最佳答案

*s++ = *t++

等价于

(*s++ = *t++) != 0

相当于

(*s++ = *t++) != '\0'

关于c - 关于 TCPL 中的 strcpy(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48000963/

相关文章:

c - 二叉搜索树插入不起作用

c - 从二进制文件中读取并复制到数组中

C 中的 char 指针和 strcpy

c - 关于 strcpy 中的安全漏洞

无法将字符串复制到结构中的字符串 (C)

c - 如何从 fgets 中检测空字符串

c++ - C++ 的哪些领域对 C 程序员最有用?

c - 虚拟区域到页面

C 函数指针

c - 解释我的代码在做什么 (C)