#include 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和q数组中都没有字符串结束符,故长度都不能确定
查看答案
设有定义: char *c; 以下哪个能够使c正确指向一个字符串( )?
A. char str[ ]="string";c=str;
B. scanf("%s",c);
C. c=getchar();
D. *c="string";
以下定义和初始化语句哪个不正确()?
A. char ss[6][20];ss[1]="right?";
B. char ss[][20]={ "right?"};
C. char *ss[6];ss[1]="right?";
D. char *ss[]={"right?"};
若有定义char *s=”\\”Name\\Address\n”,则指针s所指字符串长度为______ 。
A. 19
B. 15
C. 18
D. 说明不合法
下面哪个是合法的结构体的定义和赋值语句()?
A. struct ord {int x;int y;int z;} struct ord a={1,2,3};
B. struct ord {int x;int y;int z;} struct ord a;a={1,2,3};
C. struct ord {int x;int y;int z;} a={1,2,3};
D. struct {int x;int y;int z;} a;a={1,2,3};