有以下程序: #include<string.h> main() char p[]='a','b','c',q[10]='a','b','c'; printf( %d%d n ,strlen(p),strlen(q)); 以下叙述中正确的是( )。
A.在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3
B.由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3
C.由于q数组中没有字符串结束符,长度不能确定,但P数组中字符串长度为3
D.由于p和a数组中都没有字符串结束符,故长度都不能确定