【发布时间】:2020-08-28 07:47:31
【问题描述】:
我是编程新手,对 C++ 也很陌生,最近遇到了字符串。
为什么我们需要在字符列表末尾添加一个空终止符?
我读过答案,因为我们可能不会使用数组的所有空格,因此我们需要空终止符让程序知道字符串在哪里结束,例如char[100] = "John"
但是为什么程序不能只循环遍历数组来检查填充了多少空格从而决定长度呢?
如果单词"John"在数组中只填充了四个字符,那么其他空格是什么?
【问题讨论】:
-
@S.M.关闭但没有重复的 IMO。另一个问题是关于 null 终止作为长度前缀的替代。
-
C 的作者 Dennis M Ritchie 在该问题下方给出了答案。
-
回答“为什么程序不能检查填充了多少个空格”的问题:“检查填充了多少个空格”应该是什么意思?记忆中总是充满了一些东西。这就像在问“检查这个盒子里面是否有东西”。嗯,一个盒子里面总是有东西,即空气。而C++中的0则起到了空气的作用。
标签: c++ arrays c-strings string-literals array-initialization