itgle.com

设有下列程序段: char s[20]="Beijing",*p; p=s; 则执行p=s;语句后,下列叙述正确的是( )。A.可以用*p表示s[0]B.s数组中元素的个数和p所指字符串长度相等C.s和p都是指针变量D.数组s中的内容和指针变量p中的内容相同

题目

设有下列程序段: char s[20]="Beijing",*p; p=s; 则执行p=s;语句后,下列叙述正确的是( )。

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

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

C.s和p都是指针变量

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


相似考题
更多“设有下列程序段: char s[20]="Beijing",*p; p=s; 则执行p=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题:

    下列程序段没有错误的是( )。

    A.int*p;cin>>*p;

    B.int*s,k;*s=100

    C.int *s ,k; char *p ,c; s=&k; p=&c; *p='a'; *s=1;

    D.int *s,k; char *p,c; s=&k; p=&c; s=p;


    正确答案:C
    解析:指针变量一定要让它指向某个内存单元才能给它赋值、参加运算等,选项A和选项B都是因为没有先让指针指向某个内存单元;选项D把不同数据类型的指针变量相互赋值是错误的。

  • 第3题:

    设有下面的程序段: 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)的说法正确。注意:用于字符串处理的函数。

  • 第4题:

    设有下列程序段:

    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存放的是数组的首地址。

  • 第5题:

    若有下面的程序段: 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)。