能不能讲解一下为什么a是6位?(语言-c语言)

img


不都是hello吗?
而且要是我想用数组输出hello这么弄?
今天下午要学数组 先看点题预习一下
麻烦了

字符串以\0结尾
看题之前,先搞清基本概念,要不然都是看了个寂寞

a是一个字符串,C语言字符串默认在最后面添加'\0'字符
而b是一个字符数组,要让其变成字符串也得再在最后添加一个'\0'
输出字符串可以用 printf("%s", a);

hello 是5字节,字符串最后的还有一个结束符 '\0' 也是占1个字节的,所以占用的内存大小是6字节

字符串的结束编制是\0,所以在存前面的内容之后还要有一位存放\0,望采纳