c语言数据输出中为什么会后面多出字符串

2025-04-13 23:37:15
推荐回答(2个)
回答1:

C语言字符串类型为char *或char []

两者本质上是一样的

例如:

char *x="abc";

x指向'a'

x+1指向'b'

x+2指向'c'

x+3指向'\0'

C语言在输出x时

从x指向的内容开始输出,一直到'\0'为止

用char *定义x,会自动在末尾加上'\0'

但用char []定义x,可能末尾没有'\0'

如:

char x[3]={'a','b','c'};

此时系统输出x+2指向的'c'后

x+3不一定指向'\0'

系统将会继续输出

直到发现'\0'为止

所以C语言用字符串一定要特别小心

回答2:

有可能是因为没遇到字符串结束符