更多“定义如下一维数组:int a[5],*p;,则下列描述错误的是()。A.表达式p=p+1是合法的B.表达式a=a+1是合 ”相关问题
  • 第1题:

    2、定义如下一维数组:int a[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,由于数组名代表该数组的首地址,并且只能引用该地址而不能进行修改,所以是不合法的。

  • 第2题:

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

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

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

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

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


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

  • 第3题:

    【单选题】有定义如下:int a[5], *p; 则下列描述错误的是 。

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

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

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

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


    printf(“%d
    ”,M*M);

  • 第4题:

    有定义如下:int a[5], *p; p=a; 则下列描述错误的是?

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

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

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

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


    B

  • 第5题:

    定义如下一维数组:int a[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,由于数组名代表该数组的首地址,并且只能引用该地址而不能进行修改,所以是不合法的。