有以下程序段:以下选项中不能正确引用字符串的是( )。A.3B.p[3]C.str[2]D.*P

题目

有以下程序段:

以下选项中不能正确引用字符串的是( )。

A.3

B.p[3]

C.str[2]

D.*P


相似考题
参考答案和解析
正确答案:A
tp[3]一p[3][0]是一个字符,不是字符串,选项A错误。P[3]和str[2]和+P分别代表了ddd,eec,flaa。答案为A选项。
更多“ 有以下程序段:以下选项中不能正确引用字符串的是( )。A.3B.p[3]C.str[2]D.*P ”相关问题
  • 第1题:

    设有以下语句:其中0≤k<5。以下不是对字符串的正确引用的是( )。

    A.*strp

    B.strp[k]

    C.str[k]

    D.strp


    正确答案:D
    strp是一个指针数组名,即它是一个指向指针的指针,strp不是对字符串的引用。

  • 第2题:

    有以下程序段: int *p[3],a[6],i; for (i=0; i<3; i++) p[i]=&a[2*i] ; 则*(p[1]+1)引用的是a数组元素___________。


    a[3]##%_YZPRLFH_%##*(a+3)

  • 第3题:

    对于字符串str=“加油武汉,加油中国!”,若需获取“武汉”,以下选项正确的是

    A.str[2:4]

    B.str[2:3]

    C.str[-9:-7]

    D.str[-8:-6]


    str[2:4]

  • 第4题:

    有以下程序:include main(){charp[]={'a','b','c'},q[10]={'a','b','c'};printf("%d

    有以下程序: #include <string.h> 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数组中都没有字符串结束符,故长度都不能确定


    正确答案:B
    解析:使用初始化列表对字符数组赋初值,系统不会自动为其添加字符串结束符,使用字符串初始化时才会自动添加,所以选项A是错的。数组长度在未指定的情况下由初始化列表项中数据的个数决定,若已指定且初始化项数不足时,多出部分会自动初始化为0,0等价于宁符串结束符'\0'。所以选项B是正确的,C和D都是错误的。本题应该选B。

  • 第5题:

    有以下程序段: int *p[3],a[6],i; for (i=0; i<3; i++) p[i]=&a[2*i] ; 则*(p[1]+1)引用的是a数组元素___________。


    a[ 0];a[3 ]