首页 > 解决方案 > 关于 strcpy 的说明

问题描述

我目前正在通过 edube.org 学习 C,当我在代码块中运行代码时,遇到了一些与我的观察不太一致的东西。

例如: edube.org 说调用:

strcpy(string, "爱丽丝有一只猫");

用字符串Alice填充数组字符串。

我最初认为(只是通过 edube.org 中的上述语句)这可能是因为“Alice”之后的空格可能被认为是一个空字符 '\0' 标记字符的结尾。但情况似乎并非如此。我只是在寻求澄清以说服自己 edube.org 确实不正确。

标签: cnullc-stringsstrcpy

解决方案


要么你读错了,要么网站错了。

strcpy(string, "Alice has a cat");

这用字符串填充字符数组"Alice has a cat"

空字符(ASCII 代码 0)是一个不同的字符,不能直接从键盘输入。在 C 中,它由表示\0并默认附加在所有字符串文字的末尾。它不应与空格字符(ASCII 代码 32)混淆,后者只是一个常规字符。


推荐阅读