设有如下定义,则正确的叙述为()。
char c1[]={"abcd"};
char c2[]={a','b','c','d};
A、数组c1和数组c2长度相同
B、数组cl和数组c2等价
C、数组cl的长度小于数组c2的长度
D、数组cl的长度大于数组c2的长度
语句char c1[]={"abcd"}是定义一个字符数组并进行初始化,系统按照C语言对字符数组的处理规定,在字符串的末尾自动加上串结束标记'\0',因此c1数组的长度是5,而数组c2是按照字符方式对数组进行初始化的,系统不会自动加上串标记'\0',所以数组c2的长度为4。本题答案为D。