如有下面的语句说明, 则表达式 *(p+3) 的值是 ()。 int a[]={2,3,4,5,6,7}; int *p=a;A.3B.4C.5D.6
如有下面的语句说明, 则表达式 *(p+3) 的值是 ()。 int a[]={2,3,4,5,6,7}; int *p=a;
A.3
B.4
C.5
D.6
参考答案和解析
C 解析:表达式p++->n相当于先取p->n的值(即a[0].n),再p++(指针后移指向元素a[1]):表达式p->n++相当于先取p->n的值(即a[0].n),再将p->n的值(即a[0].n的值)加1;表达式++p->n先将p->n的值加1(即a[0].n的值加1),可见,它的值应该是6。选项D和选项B一样。
相关考题:
若有以下说明和语句:sturct st { int n;char *ch;}; struct st a[3]={5, "abc",7, "def",9, "ghk"},*p=a;则值为6的表达式是( )。A)p++-n B)p-n++C)(*p).n++ D)++p-n
有如下定义语句: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
下面的语句中错误的是A.int a=5;int x[a] ;B.const int a=5;int x[a] ;C.int n=5;int * p=new int[a] ;D.const int n=5;int * p=new int[a] ;
若有以下说明和语句: struct st{int n;char*ch;} struct st a[3]={5,"abc"7,"def",9",ghk"),*p=a; 则值为6的表达式是______。A.p++->nB.p->n++C.(*p).n++D.#NAME?
设有以下C语言说明语句,则值为210的表达式是(33)。 struct s { int a;int *b;}; Int x0[]={110,120},x1[]={210,220}; struct s x[]={{100},{200}},*p=x; x[0].b=x0;x[1].b=x1;A.(++p)->aB.*p->bC.*(p++)->bD.*(++p)->b
若已定义 struct num{ int a; int b; float f; } n={1,3,5.0}; struct num *p=n; 则表达式p-b/n.a*++p-b的值是 ① ,表达式(*p).a+p-f的值是 ② 。
问答题若已定义 struct num{ int a; int b; float f; } n={1,3,5.0}; struct num *p=n; 则表达式p-b/n.a*++p-b的值是 ① ,表达式(*p).a+p-f的值是 ② 。
单选题有说明语句int *p=new int[10];释放动态数组的正确语句是()Adelete []p;Bdelete p[]Cdelete int[]pDdelete p int[10]
单选题有说明语句int *p=new int[10];访问动态数组元素的正确语句是()Aint a=p;Bint a=*p;Cdelete int[]pDdelete p int[10]