c语言字符串这个程序输出71请问大家字符串遇到0也会结束吗?

#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));
}

printf("%d%d",sizeof(s),strlen(s));
在这里输出的第1个数字是字符数组的大小,所以是7,第2个数字就是空字符前面的有效数字个数。现在因为第1个字符就是空字头,所以它前面没有字符,就输出一个0。追问

0代表空字符?输出的是1不是0

温馨提示:答案为网友推荐,仅供参考