在c语言中,char a[2] ,能存几个字符?(一个还是两个字符)

2025-03-10 19:23:44
推荐回答(2个)
回答1:

表示字符型数组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"
};是一样的。

回答2:

可以存2个字符
不过如果存字符串,就只能有一个有效字符了.
另一个字符是结束符\0