很大区别,前者a的大小为4,分别是'a','b','c','d'
后者估计你写错了吧,应该是 char a[] = "abcd"; // 这里a的大小为5个字节,除了前面4个字母外,还有一个字符串结束符 '\0'
第一个:a[0]='a' a[1]='b' a[2]='c' a[3]='d' a[4]=0
第二个:a[0]='a' a[1]=',' a[2]='b' a[3]=',' a[4]='c' a[5]=',' a[6]='d' a[7]=0
你的char[]数组声明有问题
你可以这样
char a[]={'a','b','c','d'};
char a[]= "a,b,c,d".toCharArray();
如果说区别的话就是针对他们在内存中处理时的差异了