求解释c语言中char a[2]中的2是什么意思 是指能输入的最大字符数还是什么?最多能输几个字符和字符组

2是指能跑起来后最多只能输入2个字符吗 还是什么 具体解释下[2]能输入几个字符和字符组 百度上的我都看过啦 看不懂 复制过来的就不用了

表示字符型数组a中可以存放2个字符,第1个字符用a[0]访问,第2个字符用a[1]访问,最大下标可以用0~(2-1)范围的。比如a[100]合法下标范围是0~99;
当a需要保存字符串时,需要注意,字符串必须以0值结尾,表示成字符就是'\0',而且这个0不算在字符串中的字符,那么你用a数组最多只能保存n-1个字符组成的数组,如果是char a[2];的话只能保存一个字符组成的字符串;如:char a[20]={ "Hello !" };或者char a[20]={ 'H','e','l','l','o','\0' };这时字符串占用6个数组元素,但字符串长度为5,如果你用strlen语句计算的长度也为5,你最多可在这个数组中保存长度为19的字符串,需要自己在末尾添加0或'\0',前面语句char a[20]={ "Hello !" };是编译器自动帮你加了结尾符0;
当懒得数字符串中字符个数时,也可以让编译器帮你数:char a[]={"Hello"};这与你自己写:char a[6]={ "Hello" };是一样的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-15
char a[2];
这是声明。声明变量 a 是 char 型数组,有2个元素。
语句里 写 a[0] 表示它是 char 型数组a 里的 第一个 元素
a[1] 是 char 型数组a 里的 第二个 元素。
语句例子:
a[0]='A'; a[1]='x';
printf("%c %c\n",a[0],a[1]);

char a[2]; 也可以看成 是 字符串 变量 a。 由于 字符串要用1个单元存放字符串 结束符,所以只能 存放 长度为 1 的字符串。
语句例子:
strcpy(a,"A");
printf("%s\n",a);
-----
声明,带初始化写法:
char a[2]={ 'A', 'x'}; // 初始化 a[0]='A'; a[1]='x'; -- 单引号括起的是 字符常量
char a[2]="A"; // 初始化 字符串 "A" -- 双引号括起的是 字符串,含 字符串结束符。本回答被网友采纳
第2个回答  2013-10-15
【2】就是数组能输入2个字符。追问

能解释下什么是数组吗 谢谢啦

追答

通俗的说就是能连着存放同一类型变量的数据类型,比如int a[10],就能连着放10个整形值,char a[5]就能连着存放5个字符

相似回答