30、若有下面的程序段:char s[]="china";char *p; p=s;则下列叙述正确的是
A. s和p完全相同
B. 数组s和指针变量p占用的空间相等
C. s数组长度和p所指向的字符串长度相等
D. *p与s[0]相等
查看答案
31、若有说明语句char a[]="It is mine";char *p="It is mine";则以下不正确的叙述是
A. a+1表示的是字符t的地址
B. p指向另外的字符串时,字符串的长度不受限制
C. p变量中存放的地址值可以改变
D. a中只能存放10个字符
32、有以下程序#includechar *ss(char *s){return s+strlen(s)/2;}main( ){char *p,*str=”abcdefgh”;p=ss(str);printf(“%s\n”,p);}程序运行后的输出结果是
A. abcdefgh
B. efgh
C. defgh
D. fgh
33、已定义以下函数fun(char *p2, char *p1){while((*p2=*p1)!='\0'){p1++;p2++;}}函数的功能是
A. 将p1所指字符串复制到p2所指内存空间
B. 将p1所指字符串的地址赋给指针p2
C. 对p1和p2两个指针所指字符串进行比较
D. 检查p1和p2两个指针所指字符串中是否有'\0'
34、有以下定义#includechar a[10],*b=a;不能给数组a输入字符串的语句是
A. gets(a)
B. gets(a[0])
C. gets(&a[0]);
D. gets(b);