'\0' 是在字符串数组里面才用到的,
(我的理解,字符型的数组太繁了,浪费资源,才引用字符串数组,输入简单,输出方便,还自动加上 结束标志符 \0)
记住:字符数组 未被赋值的地方 默认加上 0
字符串数组 会在已赋值的最后 加上结束标志 '\0' printf("%s",bb);遇到这个会自动结束
深入分析可以 见博客 : https://blog.csdn.net/misskissC/article/details/8165592
# include "stdio.h"
int main()
{
// char a[10]={'i',' ','a','m',' ','a',' ','s','t','u','d','e','n','t'}; // a[10] 错误 error c2078:too many initializers 越界,c语言里,数组下标个数要足够大,能够存得下元素
char b[20]={'i',' ','a','m',' ','a',' ','s','t','u','d','e','n','t'};
int i;
char bb[20]="i am a stu";
for(i=0;i<20;i++)
{
printf("%d,",b[i]); // 看一下运行的结果,从运行的最后结果中,我们可以知道,b[20]
// 未被赋值的地方被 赋值为 0
}
printf("\n");
printf("%s",bb); // 它在 i am a stu的后面自动加上 '\0'
}