有下列程序: #include main() { char p[]={"abc"},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和q数组中都没有字符串结束符,故长度都不能确定