更多“下列赋值语句中正确的是:inta[3]={1,2,3},*p()A、p=a;B、*p=a;C、*(a+1)=a;D、p=a+1;”相关问题
  • 第1题:

    已知“inta[]={1,2,3};constint*p=a;”,则语句“*p=5;”会将元素a[0]的值赋为5.()

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


    正确答案:正确

  • 第2题:

    定义如下一维数组: inta[5],*p=a; 则下面描述中,错误的是( )。

    A.表达式p=p+1是合法的

    B.表达式a=a+1是合法的

    C.表达式p-a是合法的

    D.表达式a+2是合法的


    正确答案:B
    解析:本题考核指针与数组的关系。对于选项A,由于在定义时指针p指向数组a[0],那么表达式“p=p+1”就是让指针p指向数组中的元素a[1],所以是合法的。对于选项C,数组名a代表该数组的首地址,指针p中存的也是地址,所以它们之间可以进行加减运算。对于选项D,数组名a代表该数组的首地址,那么表达式“a+2”代表的是数组元素a[2]的地址。对于选项B,由于数组名代表该数组的首地址,并且只能引用该地址而不能进行修改,所以是不合法的。

  • 第3题:

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

    A.p=S;

    B.p=k;

    C.p=s[0];

    D.k=S;


    正确答案:C

  • 第4题:

    若有下列说明和语句:inta[4][5],(*p)[5];p=a;则对a数组元素的正确引用是()。

    A.p+1

    B.*(p+3)

    C.*(p+1)+3

    D.*(*p+2)


    正确答案:B

  • 第5题:

    有声明int a[]={8.2.5}、*p=a;则取值为2的是()

    • A、p+1
    • B、*(a+1)
    • C、*p++
    • D、a+l

    正确答案:B

  • 第6题:

    已有定义inta=2,*p1=&a,*p2=&a;下面不能正确执行的赋值语句是()

    • A、a=*p1+*p2;
    • B、p1=a;
    • C、p1=p2;
    • D、a=*p1*(*p2);

    正确答案:B

  • 第7题:

    有定义语句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

  • 第8题:

    设已有定义:char*st=”howareyou”;下列程序段中正确的是()。

    • A、chara[11],*p;strcpy(p=a+1,st[4]);
    • B、chara[11];strcpy(++a,st);
    • C、chara[11];strcpy(a,st);
    • D、chara[],*p;strcpy(p=&a[1],st+2)

    正确答案:C

  • 第9题:

    下面指针变量赋值错误的是()

    • A、int*p;p=1002
    • B、int*p,a;p=&a;
    • C、inta;int*p=&a;
    • D、int*p=1000;

    正确答案:A

  • 第10题:

    以下对指针变量进行操作的语句,正确的选项是()

    • A、int*p,*q;q=p;
    • B、inta,*p,*q;q=&a;p=*q;
    • C、inta=b=0,*p;p=&a;b=*p;
    • D、inta=20,*p,*q=&a;p=q;

    正确答案:D

  • 第11题:

    若inta[]={1,2,3},*p;则下列赋值语句中正确的是()。

    • A、p=&a;
    • B、*p=a;
    • C、*(a+1)=a;
    • D、p=a+1;

    正确答案:D

  • 第12题:

    单选题
    若inta[]={1,2,3},*p;则下列赋值语句中正确的是()。
    A

    p=&a;

    B

    *p=a;

    C

    *(a+1)=a;

    D

    p=a+1;


    正确答案: B
    解析: 暂无解析

  • 第13题:

    有如下定义:inta[5],*p;p=a;则下列描述错误的是()。

    A.表达式p=p+1合法的

    B.表达式a=a+1是合法的

    C.表达式p-a是合法的

    D.表达式a+2是合法的


    正确答案:B

  • 第14题:

    执行下面的语句后,表达式*(p[0]+1)+**(q+2)的值为______。 int a[]={5,4,3,2,1},*p[]={a+3,a+2,a+1,a},**q=p;

    A.8

    B.7

    C.6

    D.5


    正确答案:D
    解析:p为指针数组,其元素分别为指向数组a的4个元素的指针。q为指向指针的指针变量,其初值为指针数组p的首地址。所以:表达式*(p[0]+1)+**(q+2)=*(a+3+1)+**(p+2)即是*(a+4)+*(a+1)=a[5]+a[2]=1+4=5。

  • 第15题:

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

    A.p=s;

    B.p=k

    C.p=s[0]

    D.k=s;


    正确答案:C

  • 第16题:

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

    A)p=s;

    B)p=k;

    C)p=s[0];

    D)k=s;


    正确答案:C

  • 第17题:

    已知int a[]={ 0,2,4,6,8,10 },*p=a+1;其值等于0的表达式是()

    • A、*(p++)
    • B、*(++p)
    • C、*(p--)
    • D、*(--p)

    正确答案:D

  • 第18题:

    现有如下定义:inta,b,*p,*q;,赋值语句错误的是()

    • A、p=&a;
    • B、q=&b;
    • C、p=q;
    • D、p=b;

    正确答案:D

  • 第19题:

    设有以下定义: inta[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}; int(*ptr)[3]=a,*p=a[0]; 则下列能够正确表示数组元素a[1][2]的表达式是()。

    • A、*((*ptr+1)[2])
    • B、*(*(p+5))
    • C、(*ptr+1)+2
    • D、*(*(a+1)+2)

    正确答案:D

  • 第20题:

    下面能给一个指针变量赋值采用的方法有()

    • A、inta;int*p=&a;
    • B、inta;int*p=&a;p=&a;
    • C、inta=100;int*p=@a
    • D、inta;int*p=@a;p=@a;

    正确答案:A,B

  • 第21题:

    下面关于指针变量赋值形式正确的是()

    • A、inta;int*p=&a;
    • B、inta;int*p;p=&a;
    • C、intaintp*=&a;
    • D、inta;intp*;p=&a;

    正确答案:A,B

  • 第22题:

    执行下面的语句后,表达式*(p[0]+1)+**(q+2)的值为()。 inta[]={5,4,3,2,1},*p[]={a+3,a+2,a+1,a},**q=p;

    • A、8
    • B、7
    • C、6
    • D、5

    正确答案:D

  • 第23题:

    单选题
    执行下面的语句后,表达式*(p[0]+1)+**(q+2)的值为()。 inta[]={5,4,3,2,1},*p[]={a+3,a+2,a+1,a},**q=p;
    A

    8

    B

    7

    C

    6

    D

    5


    正确答案: A
    解析: 暂无解析