什么是c中正确的字符串终止符

时间:2013-05-18 18:28:13

标签: c arrays string char

我知道c中的字符串终止字符是'\ 0'。

我们也可以使用'0'作为终止字符吗?当我将0分配给char数组中的特定索引,然后使用printf时,它只打印到该特定索引。

因此,两种方式都相同吗?是否为等于文字0的空字符?

4 个答案:

答案 0 :(得分:18)

唯一可以用作空终止符的值是数值0。

  • 0 数值0。
  • '\0' 也是代表代码中数值0的另一种方法
  • '0' 不是数值0(数字零),不能用作终结符。< / LI>

所有字符串文字在其最后一个可见字符后隐式包含空终止符。在其他情况下,它可能会或可能不会自动存在(取决于字符串的构造方式),但您必须确保在每种情况下都存在空终止符。

答案 1 :(得分:7)

  • 是等于文字0?
  • 的空字符

  

null字符(也是null终止符),缩写为NUL,是一个   控制字符值为零。

  • 我们也可以使用'0'作为终止字符吗?

没有。 '0'是值为0x30的字符。它不是空字符,不等于0。

请参阅此链接:http://www.asciitable.com/

答案 2 :(得分:5)

'\ 0'是输入字节0的便捷方式。它称为转义。 '0'是字符零;非常不一样。 c中的所有字符串都以字节0结束。

答案 3 :(得分:2)

在C中,字符串是以'\ 0'结尾的char数组。使用单引号编写字符时,如'\ 0',您将受到该字符的asci值的影响。因此表达式: 返回'\ 0'== 0; 会回归真实。