【发布时间】:2013-10-05 23:41:44
【问题描述】:
C 字符串末尾的空字符是否始终不变且不能修改?意思是,程序员可以修改 C 字符串末尾的空字符 /0 吗?或者它是恒定的并且不能被移除。示例:'Steak' 在 cstring 中,它在第 5 位有 \0。当 'steak' 被修改时,我们可以完全删除 \0 吗?
【问题讨论】:
-
只是存储中的一个字符。它可以像任何其他角色一样被修改(后果自负)。但重要的是让它在那里标记标准 C 字符串的结尾,否则字符串的长度必须单独传递给字符串函数。
-
问题本身无效。 C 字符串是一个以零结尾的字符串。如果删除 0,则它不再是 C 字符串,并且您不再可以将其与标准字符串函数一起使用。如果您有使用 Pascal 的经验:类比是“可以从 Pascal 字符串中删除长度吗?” -- 与这里给出的答案几乎相同。