为什么我们提倡用结束符 char a[]="abc" 那是不是可以a[1] a[2] a[3] 直接用了
追答printf() 函数 有缺陷。所以,有的编译器用 printf_s 。
char a[]="abc";
char a[4]="abc";
有结束符。 printf("%s",a); 任何情况下,不会出错。
这样声明,你一样可以单独使用 a[1] , a[2] ,a[3]。
为什么只能存放2个
追答通常字符数组中的所存储的内容也可以称为字符串;
字符串是一串字符,需要在后面一个位置加上‘\0’来表示一个字符串的结束。
'\0'也是需要占空间的呀,所以,你chara[3],定义了三个空间,就要留一个给'\0',所以就剩下两个空间啦。=。=
初始值设定太多 那一般应该怎么设定的?
追答=.=char a[3],你定义了3个空间,最后一个空间要给'\0',就剩两个了,所以你在初始化的时候给他的初始值就不能超过两个呀,要是超过了,‘\0’的不就被占用了么。
没有一般怎么设定,只要不超过你定义的空间,你想咋设定就咋设定= =。