单选题若有以下定义:int x[10],*pt=x;则对x数组元素的正确引用是( )。A*x[10]B*(x+3)C*(pt+10)Dpt+3
单选题
若有以下定义:int x[10],*pt=x;则对x数组元素的正确引用是( )。
A
*&x[10]
B
*(x+3)
C
*(pt+10)
D
pt+3
参考解析
解析:
数组的下标是从0开始的,故x[10]实际上具体为x[0],x[1],…,x[9],而若使用x[10]就会溢出、编译出错,所以AC两项错误;D项,pt+3指向地址,并未引用到元素;B项的表达正确,代表x[3]中的元素,答案选择B选项。
数组的下标是从0开始的,故x[10]实际上具体为x[0],x[1],…,x[9],而若使用x[10]就会溢出、编译出错,所以AC两项错误;D项,pt+3指向地址,并未引用到元素;B项的表达正确,代表x[3]中的元素,答案选择B选项。
相关考题:
若有以下语句,则对x数组元素引用不正确的是( )。 int x[ ]={1, 2, 3, 4, 5,6}, *ptr;ptr=x; A.*(--ptr)B.*(ptr--)C.*(ptr++)D.*(++ptr)
若有定义:int x[10], *p=x;,则*(p+5)表示( )。 A.数组元素x[5]的地址B.数组元素x[5]的值C.数组元素x[6]的地址D.数组元素x[6]的值E.选项内容11F.选项内容11G.选项内容11
若有下列定义和语句,则对a数组元素的非法引用是()。Int a[2][3],(*pt)[3];pt=a; A. pt[0][0]B. *(pt+1)[2]C. *(pt[1]+2)D. *(a[0]+2
若有以下结构体定义,则______是正确的引用或定义。 struct example { int x; int y; }v1;A.example.x=10B.example v2.x=10C.example.x=10D.struct example v2={10};
若有以下结构体,则正确的定义或引用是( )。 struct Test { int x; int y; }v1;A.Test.x=10;B.Test v2;v2.x=10;C.struct Test v2;v2.x=10;D.struct Test.v2=10;
若有定义语句:float x[6];则以下对x数组元素的正确引用形式是()。A.x+2B.x[6]C.*(x+2)D.*则以下对x数组元素的正确引用形式是( )。A.x+2B.x[6]C.*(x+2)D.*x[6]
若有定义语句:“int x=10;”,则表达式x-=x+x的值为( )。 A.-20B.-l0C.0 若有定义语句:“int x=10;”,则表达式x-=x+x的值为( )。A.-20B.-l0C.0D.10
若有以下语句,且0≤K6,则(36)是对数组元素地址的正确表示。 static int x[]={1,3,5,7,9,11},*ptr,k; ptr=x;A.x++;B.ptrC.(x+1)D.ptr[k]
若有定义语句“doublex[5]={1.0,2.0,3.0,4.0,5.0},*p=x”,则错误引用X数组元素的是( )。 A.*pSX 若有定义语句“doublex[5]={1.0,2.0,3.0,4.0,5.0},*p=x”,则错误引用X数组元素的是( )。A.*pB.x[5]C.*(p+1)D.*x
若有int *x[3]:则以下表述正确的是 ______。A.x是一个指向具有3个元素的整型数组的指针B.x是一个指向int型变量的指针C.x是一个有3个元素的指针数组,每个元素是一个int型指针D.x是一个数组,该数组的元素是指针x所指向的变量
若有下列定义,则对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 x[10],*p,p=x;”,则在程序中引用数组元素x[i]的四种形式中,除了x[i]、p[i]和*(p+i)以外,还有()