c语言如何在一个数组中存储字符

char i[20]={‘1’,‘A’,‘10’,‘AB’}这样写提示截断常量值,char i[20]={"1","A","10","AB"}这样写提示初始化值设定项值太多,
如何在一个数组中同时存储1,A,10,AB这几个字符串

看来你对数组的初始化赋值还不熟, char i[20]={‘1’,‘A’,‘10’,‘AB’} 中的

'AB'是错误的,不能有两个字符,只能是一个,'A'或者'B' ,而后面
char i[20]={"1","A","10","AB"}也是错误的,出现多个字符串,这应该是二维数组后者或者指针数组等,可以改为char i[4][20]={"1","A","10","AB"}追问

i[0][0]=1,i[1][0]=A,是不是这样理解

追答

如果是int类型的数组,则可以 i[0][0]=1,如果是char类型则不可以,要这样 i[0][0]='1',
后面的i[1][0]=A,无论哪种情况都不行,记得是字符就加 ' ' 是字符串就加 " "

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-09-13
char i[][256]={"1","A","10","Aasd"};
这里256决定了每一个字符串的最大长度,你可以根据需要设置
第2个回答  2015-09-13
(1)AB不是一个字符,是字符串。所以‘AB’错误;
(2)“1”,"A"等等都是字符串,是只有一个字符的字符串。追问

如何在一个数组中同时存储1,A,10,AB这几个字符串

追答

char i[]="1A10AB"

相似回答