【发布时间】:2015-07-02 08:30:29
【问题描述】:
C 编程语言通过以下方式使用引号将字符常量与字符串常量区分开来:
'c'是字符c,而"c"是由单个字符c组成的长度为1的字符串。
为什么会有这种区别?它有什么用处? 这与 C++ 有何不同?
【问题讨论】:
-
"c"是一个长度为 2 的字符串。 -
How is it useful?---总是太宽泛或不清楚... :-( -
一个字符串可以包含多个字符(因此得名)。
-
这是他们做出的设计决定。 “c”是“c”+“\0”,而“c”只是“c”。大多数字符串操作函数将基于尾随 '\0'
-
@hacks 所以你认为
strlen("c")应该返回 2,然后呢?我认为你只是在增加混乱。字符串的长度不包括终止符。 “内存中的大小”确实如此。