c - 字符串中间的 '\0'在C中能被识别为字符串的结尾吗?

标签 c string

我知道在 C 中 '\0' 总是在字符串的结尾,但是 '\0' 总是标记字符串的结尾吗?

就像“1230123”可以被识别为“123”?

问题的一个版本使用了符号 '/0' 而不是 '\0'

最佳答案

根据定义,值为 0 的字节标记字符串的结尾。所以如果你有这样的事情:

char s[] = { 'a', 'b', 'c', '\0', 'd', 'e', 'f', '\0' };
printf("%s\n");

它将打印abc

这与 "1230123" 不同,其中字符串中的第 4 个字符不是值 0,而是字符 '0',其 ASCII 代码为 48 .

关于c - 字符串中间的 '\0'在C中能被识别为字符串的结尾吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54338390/

相关文章:

javascript - 判断一个字符串是否只包含另一个字符的函数

C++ int转字符串,连接字符串

c - 使用位运算符将十进制转换为二进制

java - 构建快速 Android 应用程序 - Java 还是 native ?

C随机数生成器

java - 转换 Byte 变量并将其转换为 String

java - Struts2,JSP,迭代中的 null 和 Empty 测试字符串

c++ - 用 C++ 为非英语语言打印字符串

c - 编写接受超时的函数的最佳方法(posix C)

C:使用 char 数组作为 8 字节 block