char数组,为什么我必须 "dereference"单个字符的字符串来给它赋值

标签 c string char

int main() {
    char test[15] = "Hallo World";
    test[1] = *"e";
}

要将第二个字母更改为 e,我必须遵循字符串 "e"。我找不到任何关于为什么会这样的信息。如果我不取消引用字符串 "e",测试最终会变成 "H$llo World"。有人可以启发我吗?

最佳答案

C 中的字 rune 字用撇号拼写:

test[1] = 'e';

当然,您可以使用任意数量的令人困惑的复杂表达式来生成字符值,但这是实现预期行为的最直接、最深思熟虑的方式。

关于char数组,为什么我必须 "dereference"单个字符的字符串来给它赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26324757/

相关文章:

客户端unix套接字编程中的connect调用

string - Apex-在子字符串 ' '处没有可行的替代方法

c++ - 我如何比较一个字符按字母顺序排列的顺序是高于还是低于另一个?

将 char* 转换为小写会引发段错误

c - GetDiskFreeSpace 函数返回 ERROR_INVALID_FUNCTION

c - C语言中如何替换变量名

objective-c - 对 NSString 中的每个单词调用一个方法

c - 在 C 中支持带有空字符的字符串

c - 为什么要 char name[0]?

c - 预期 ';' 标识符或 '(' 之前的 'void' token ?