网友您好, 请在下方输入框内输入要搜索的题目:
题目内容
(请给出正确答案)
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;则下面描述错误的是:A.表达式p=p+1是合法的B.表达式a=a+1是合法的C.表达式p-a是合法的D.表达式a+2是合法的” 相关考题
考题
若有定义int a[9],+P=a;,则P+5表示( )。A.数组元素a[5]的值B.数组元素a[5]的地址SXB
若有定义int a[9],+P=a;,则P+5表示( )。A.数组元素a[5]的值B.数组元素a[5]的地址C.数组元素a[6]的地址D.数组元素a[0]的值加上5
考题
设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是( )。
A.a[0];B.a[A.length-1];C.a[3];D.int i=1; a[i];
考题
定义如下变量和数组:int i;int y[2][3]={2,4,6,8,10,12};则下面语句的输出结果是【 】。for(i=0;i<2;i++)cout<<y[1-i)[i+1]<<",";
考题
程序中有如下语句for(int i=0;i<5;i++)cout<<*(p+i<<“,”;能够依次输出int型一维数组a的前5个元素。由此可知,变量P的定义及初始化语句是( )。A.int*p=a;B.int p=a;C.*p=a;D.p=a;
考题
有如下定义语句:int a[]={1,2,3,4,5};,则对语句int*p=a;正确的描述是( )。A.语句int*p=a;定义不正确B.语句int*p=a;初始化变量p,使其指向数组对象a的第一个元素C.语句int*p=a;是把a[0]的值赋给变量pD.语句iht*p=a;是把a[l]的值赋给变量p
考题
有如下定义语句:int a[]={1,2,3,4,5);,则对语句int *p=a;正确的描述是( )。A.语句int *p=a;定义不正确B.语句int *p=a;初始化变量p,使其指向数组对象a的第一个元素C.语句int *p=a;是把a[0]的值赋给变量pD.语句int *p=a;是把a[1]的值赋给变量p
考题
若有以下定义和语句,且0<=I<10,则对数组元素的错误引用是 ( )int a [ ]={1,2,3,4,5,6,7,8,9,0};int*p,Ip=a;A.* (a+I)B.a[p-a]C.p+ID.* (&a[I])
考题
若有下列定义,则对a数组元素地址的正确引用是( )。int a[5],*p=a;A.p+5 B.*a+1
若有下列定义,则对a数组元素地址的正确引用是( )。int a[5],*p=a;A.p+5B.*a+1C.&a+1D.&a[0]
考题
单选题若有定义语句:int m[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用中错误的是( )。A
m[--i]B
m[2*2]C
m[m[0]]D
m[m[i]]
热门标签
最新试卷