注册 登录
编程论坛 C语言论坛

c语言字符串,字符串遇到0和\0都会结束吗?

Gloria_zhang 发布于 2020-11-24 18:29, 3863 次点击
#include <stdio.h>
#include <string.h>
void main()
{ char s[]="Happy\0";

s[0]='0';

s[1]=0;

s[2]='\0';

printf("%d%d",sizeof(s),strlen (s));
}



这个程序输出7 1,说明求字符串长度遇到0也会结束?
4 回复
#2
林月儿2020-11-24 20:00
你说的结束指的是什么流程
#3
吹水佬2020-11-25 11:12
字符值0和'\0'只是表达形式不同,“字符串”的定义就是以他为结束字符。
#4
apull2020-11-26 16:12

在C语言中,字符串实际上是使用 null 字符 '\0' 为终止的一维字符数组,遍历字符串以'\0'表示字符串结束。

char s[]="Happy\0"; //数组s有7个元素,最后2个元素的值都是0

'\0'里\是反义字符,它的值也就是0,所以'\0'和0的值是一样的。

'\0'和'0'不一样,他俩的值分别是0和48

[此贴子已经被作者于2020-11-27 03:03编辑过]

#5
风过无痕19892020-11-27 00:25
回复 楼主 Gloria_zhang
结束符是可以自己设定的,当输入的全是字符时,可以以任何一个数字作为结束符;当输入全是数字时,也可指定任何一个字符作为结束符
1