5、char (*p)[10];该语句定义了一个A.指向含有10个元素的一维字符型数组的指针变量pB.指向长度为10的字符串的指针变量pC.有10个元素的指针数组p,每个元素可以指向一个字符串D.有10个元素的指针数组p,每个元素存放一个字符串

题目

5、char (*p)[10];该语句定义了一个

A.指向含有10个元素的一维字符型数组的指针变量p

B.指向长度为10的字符串的指针变量p

C.有10个元素的指针数组p,每个元素可以指向一个字符串

D.有10个元素的指针数组p,每个元素存放一个字符串


相似考题
参考答案和解析
int *p=a;
更多“5、char (*p)[10];该语句定义了一个”相关问题
  • 第1题:

    下列语句错误的是( )。

    A.char*p="John";p[2]='a';

    B.char name[5]="John";name[2]='a'

    C.char name[5]="John",*p=name;p[2]='a';

    D.char name[5]="John",*p=&name[2];*p='a';


    正确答案:A

  • 第2题:

    若有定义语句:double a,*p=&a;,以下叙述中错误的是( )。 A.定义语句中的*号是一个间址运算符S

    若有定义语句:double a,*p=&a;,以下叙述中错误的是( )。

    A.定义语句中的*号是一个间址运算符

    B.定义语句中的*号只是一个说明符

    C.定义语句中的P只能存放double类型变量的地址

    D.定义语句中,*p=&n把变量a的地址作为初值赋给指针变量P


    正确答案:C
    doublea,*p=&a语句的意思是将a的值存放到指针变量P中,P是指针可以随意指向任何地址,所以答案C错误。

  • 第3题:

    设有如下函数定义。若在主函数中用语句cout<<f("good")调用上述函数,则输出结果为(48)。 int f(char *s){ char *p=s; while(*p! ='\0')p++; return(p-s); }

    A.3

    B.4

    C.5

    D.6


    正确答案:B
    解析:程序中的while循环执行完以后,s指向字符中的第一个元素,p指向'\0'(字符串的末尾位置),所以p-s是字符申的长度。所以选择B。

  • 第4题:

    若有定义语句:char s[3][10],(*k)[3]。*P;,则以下赋值语句正确的是

    A.p=S;

    B.p=k;

    C.p=s[0];

    D.k=S;


    正确答案:C

  • 第5题:

    语句Char(*P)说明了( )。

    A.P是指向函数的指针,该函数返回一个Char型数据

    B.P是指向Char型数据的指针变量

    C.P是指向数组的指针变量

    D.P是一个函数名,该函数的返回值是指向Char型数据的指针


    正确答案:A
    P是指向函数的指针,该函数返回一个char型数据。

  • 第6题:

    以下定义语句中,错误的是 ______。

    A.int a[]={1,2);

    B.char *a[3];

    C.char s[10]= "test";

    D.Int n=5,a[n];


    正确答案:D

  • 第7题:

    设有如下定义 struct ss { char name[10]; int age; char sex; }std[3], * p=std; 下面各输入语句中错误的是

    A.cin>>(* p).age);

    B.cin>>std.name);

    C.cin>>std[0].sex);

    D.cin>>(p->.sex));


    正确答案:B
    解析:std是一个数组,其内可以存放三个结构体类型的数据。当std单独使用的时候表示一个指针,指向该数组首地址。因此不能直接用std和点操作符进行配对使用。指针操作符->只能和指针配对使用,点操作符只能和有名对象或变量配对使用。

  • 第8题:

    若有定义和语句:struct student { int num; char name[10]; float score;} s[5]={{1,"lili",98.5},{9,"xiaohua",66}},*p=s;printf("%d",*p++);输出结果是1。( )

    此题为判断题(对,错)。


    正确答案:×

  • 第9题:

    若有语句:charline[5];,以下叙述中正确的是()

    • A、定义line是一个数组,每个数组元素是一个基类型为char的变量
    • B、定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组
    • C、定义line是一个指针数组,语句中的*号称为间址运算符
    • D、定义line是一个指向字符型函数的指针

    正确答案:A

  • 第10题:

    下列定义数组的语句中正确的是().

    • A、#define size 10  char  str1[size],str2[size+2];
    • B、char str[];
    • C、int num[’10’];
    • D、int n=5; int a[n][n+2];

    正确答案:A

  • 第11题:

    以下定义语句中,错误的是()。

    • A、inta[]={1,2} 
    • B、char*a[3] 
    • C、chars[10]="text" 
    • D、intn=5,a[n]

    正确答案:D

  • 第12题:

    单选题
    若有定义语句:char s[3][10],(*k)[3],*p; 则以下赋值语句正确的是(  )。
    A

    p=s;

    B

    p=k;

    C

    p=s[0];

    D

    k=s;


    正确答案: C
    解析:
    A项,将字符型二维数组首地址赋值给了一个字符型指针,类型不匹配;B项,将指针数组的首地址赋值给一个字符型指针,类型不匹配;C项,s是二维字符数组,s[0]表示一个含有10个元素的一维数组,即将一维字符数组首地址赋值给了一个字符型指针,这是允许的;D项,将二维字符数组赋值给了指向一维字符数组的指针,类型不匹配。答案选择C选项。

  • 第13题:

    下列定义语句中,错误的是

    A.int px*;

    B.char*acp[10];

    C.char(*pac)[10];

    D.int(*p)();


    正确答案:A
    解析:B项定义了一个指针数组,正确。C项定义了一个指向字符数组的指针,即数组指针,正确。D项定义了一个指向返回值为整型量的函数的指针,即函数指针,正确。A项定义语句错误,本题选A。

  • 第14题:

    下列对字符数组进行初始化的语句正确的是

    A.char a []="Hello";

    B.char a[][]={'H','e','1','1','o');

    C.char a[5]="Hello";

    D.char a[2][5]={"Hello", "World"};p


    正确答案:A
    解析:本题考查对字符数组的初始化。A选项中,数组a在定义后紧跟初始化的情况下可省略数组长度,其最终数组长度由所赋字符串常量的长度给定。A选项正确。B选项中,a是一个二维数组,二维数组也能在定义时被初始化.如果对全部元素都赋初值,则定义数组时第一维的大小可以忽略,但第二维的大小不能省略。故B选项错误。C选项和D选项都忽略了字符串的大小要比字符串中的字符数多1这一点,造成了数组的越界。

  • 第15题:

    经过下面的语句定义后:int i,a[10],*p;下列语句中,合法的是______。

    A.p=100;

    B.p=a[5];

    C.p=a[2]+2;

    D.p=a+2;


    正确答案:D

  • 第16题:

    若有定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的是;

    A.p=s;

    B.p=k

    C.p=s[0]

    D.k=s;


    正确答案:C

  • 第17题:

    变量s的定义为“char *s="Hello world!";”,要使变量p指向s所指向的同一个字符串,则应选取(47)。

    A.char *p=s;

    B.char *p=&s;

    C.char *p;p=*s;

    D.char *p; p=&s;


    正确答案:A
    解析:按照要求,p应该定义为一个指向字符串的指针,它的值和s一样,所以选择A。

  • 第18题:

    若有以下定义: struct tt{char name[10];char sex;}aa={"aaaa",′F′},*p=&aa; 则错误的语句是( )。

    选项格式:A.scanf("%c",a选项格式:A.sex);

    B.a选项格式:A.sex=getchar( );

    C.printf("%c\n",(*p).sex);

    D.printf("%c\n",p->sex);

    答案:A

    解析:sex是一个char类型变量,不是地址,A项应为scanf("%c",&aA.scanf("%c",a选项格式:A.sex);

    B.a选项格式:A.sex=getchar( );

    C.printf("%c\n",(*p).sex);

    D.printf("%c\n",p->sex);


    答案:A
    解析:sex是一个char类型变量,不是地址,A项应为scanf("%c",&a选项格式:A.sex);。

  • 第19题:

    C++语句const char * const p="hello" , ,所定义的指针p和它所指的内容都不能被 【10】 。


    正确答案:
    改变

  • 第20题:

    (28)若有定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的是

    A)p=s;

    B)p=k;

    C)p=s[0];

    D)k=s;


    正确答案:C

  • 第21题:

    有定义语句inta[10],*p=a;以下和此功能相同的是()

    • A、inta[10];intp;p=a;
    • B、inta[10],*p;p=a;
    • C、int*p,a[10];p=a;
    • D、char*a[10]=”abcd”;printf(“%s”,a);

    正确答案:B,C

  • 第22题:

    经过下面的语句后 inti,a[10],*p; 定义后,下列语句中合法的是()。

    • A、p=100
    • B、p=a[5]
    • C、p=a+2
    • D、p=&(i+2

    正确答案:C

  • 第23题:

    类型定义:chars[3]=""AB"";char*p;执行了语句p=s以后,*(p+2)的值是()。

    • A、’B’
    • B、’/0’
    • C、不确定
    • D、字符’B’的地址

    正确答案:B

  • 第24题:

    单选题
    若有以下定义:struct tt{char name[10];char sex;} aa={aaaa,'F'},*p=&aa;则错误的语句是(  )。
    A

    scanf(%c,aa.sex);

    B

    aa.sex=getchar();

    C

    printf(%c,(*p).sex);

    D

    printf(%c,p->sex);


    正确答案: A
    解析:
    sex是一个char类型变量,不是地址,A项应为scanf("%c",&aa.sex);。答案选择A选项。