设有下面的程序段:char s[]="china"; char*p; p=s;则下列叙述正确的是A.s和p完全相同B.数组s中的内容和指针变量p中的内容相同C.s数组长度和p所指向的字符串长度相等D.*p与s[0]相等

题目

设有下面的程序段:

char s[]="china"; char*p; p=s;

则下列叙述正确的是

A.s和p完全相同

B.数组s中的内容和指针变量p中的内容相同

C.s数组长度和p所指向的字符串长度相等

D.*p与s[0]相等


相似考题
更多“设有下面的程序段: char s[]="china";char*p;p=s; 则下列叙述正确的是A.s和p完全相同B.数组s中的 ”相关问题
  • 第1题:

    设有下列程序段:

    chars[20]="Beijing",*P;

    P=S;

    则执行“p=s;”语句后,下列叙述正确的是( )。

    A.可以用*P表示s[0]

    B.S数组中元素的个数和P所指字符串长度相等

    C.S和P都是指针变量

    D.数组s中的内容和指针变量P中的内容相同


    正确答案:A
    A。【解析】程序定义了字符数组S和字符型指针变量P,并且使P指向数组S的首地址,执行P=S语句后,*P表示s[o];S数组中元素的个数和P所指字符串长度不相等,s数组中包括字符串结束标志“\0”,而P所指字符串不包括“\0”,数组s中的内容和指针变量P中的内容不相同,数组中存放的是字符串,而指针变量P存放的是数组的首地址。

  • 第2题:

    设有下面的程序段: char s[]="china"; char*p;p=s; 则下列叙述正确的是

    A.s和p完全相同

    B.数组s中的内容和指针变量p中的内容相同

    C.s数组长度和p所指向的字符串长度相等

    D.*p与s[0]相等


    正确答案:D
    解析:选项A)中,s为数组名,是一个常量地址,而指针p为一个字符变量,不能说两者完全相同,所以选项A)错误。选项B)和C)的说法都不严谨,只有选项D)的说法正确。注意:用于字符串处理的函数。

  • 第3题:

    下面的程序段叙述正确的是 。 Char s[]=”tarim”,char *p=s;

    A.*p与s[0]相等

    B.数组s中的内容和指针变量p中的内容相等

    C.数组s长度和p所指向的字符串长度相等

    D.s和p完全相同


    C 解析:本题考查了一维字符数组的定义和初始化。选项C中str[10]初始化为空,可以不必进行类似''的空赋值,字符数组若没有进行初始化赋值,默认的字符为空,并且定义完str数组后,应该用','分隔而不是'。',所以选项C错误。

  • 第4题:

    若有下面的程序段: chars[]="china";char *p;p=s;则下列叙述正确的是( )。

    A.s和p完全相同

    B.数组s中的内容和指针变量p中的内容相等

    C.数组s的长度和p所指向的字符串长度相等

    D.*p与s[0]相等


    正确答案:D
    解析:字符型指针变量p中存放的是“china"的首地址,所以选项A)和B)错误;s数组长度为6,而p所指向的字符串长度为5,二者不相等,排除选项C)。

  • 第5题:

    有以下程序段: char s[]="china"; char *p; p=s; 则以下叙述中正确的是(40)。

    A.数组s中的内容和指针变量p中的内容相等

    B.s和p完全相同

    C.sizeof(s)与sizeof(p)结果相同

    D.*p和s[0]相等


    正确答案:D
    解析:本题考查对数组和指针的理解。题目中给出的程序段首先是将字符串"china"放进数组s中,接下来声明了一个字符型指针变量p,并使指针变量p指向数组s。指针变量p中存放的是数组s的首地址,而数组s中存放的是字符串"china",内容根本不同;数组名s是一个常量,表示的是数组首元素在内存中的首地址,虽然指针变量p中存放的也是数组s的首地址,但不完全相同;sizeof()函数的作用是求参数的长度,由于数组s中的内容和指针变量p中的内容不同,用函数sizeof()求得的结果肯定不同。*p表示取数组的第一个元素,而s[0]也表示取数组的第一个元素,因此相等。