据我所知,c 中的字符串终止字符是'\0'。
我们也可以使用“0”作为终止字符吗?当我将 0 分配给 char 数组中的特定索引,然后使用 printf 时,它只打印到该特定索引。
因此,两种方式是否等效?空字符是否等于文字 0?
唯一可以用作空终止符的值是数值 0。
0
是数值 0。'\0'
也是在代码中表示数值 0 的另一种方式'0'
不是数值 0(它是数字零),不能用作终止符。所有字符串文字都在最后一个可见字符之后隐式包含空终止符。在其他情况下,它可能会自动出现,也可能不会自动出现(取决于字符串的构造方式),但您必须确保在每种情况下都有空终止符。
是的。
空字符(也是空终止符),缩写为 NUL,是一个值为零的控制字符。
不,'0' 是一个值为 0x30 的字符。它不是空字符,也不等于 0。
请参阅此链接:http ://www.asciitable.com/
'\0' 是输入字节 0 的一种方便方式。它称为转义。'0' 是字符零;非常不一样。c 中的所有字符串都以字节 0 结尾。
在 C 中,字符串是以 '\0' 结尾的 char 数组。当用单引号写一个 char 时,就像在 '\0' 中,你指的是那个 char 的 asci 值。因此表达式: return '\0' == 0; 将返回 true。