更多“设inta[5]={2,4,6,8,10},*p=a;,则a[p-a+2]的值是_______。 ”相关问题
  • 第1题:

    设有定义语句“int a[]={2, 4,6,8,10},*p=s;”,则值为8的表达式是( )

    A.*p+3

    B.*p+4

    C.*(p+4)

    D.*(s+3)


    正确答案:D
    分析四个备选答案,可以看出是用指针法来引用数组a的元素。当指针变量p已经指向数组。的首地址后(正如本题那样),*(p+i)和*(s+i)都是数组元素a[i]。对于备选答案A:*p就是数组元素。a[0],其值为2,再加3结果为5,不符合题意。同样道理,备选答案B中的*p十4的值为6,也不符合题意。对于备选答案C:*(p+4)代表数组元素a[4],其值为10,也不符合题意。显然本题答案应选D。因为*(s+3)就是数组元素s[3],其值为8。

  • 第2题:

    若有定义int a[]={2,4,6,8,10},p=a;a的值是数组首地址,则*(p+1)的值是4。


  • 第3题:

    以下程序段运行后的输出结果是() int a[5]={2,4,6,8,10},*p; p=a; p++; printf(“%d”,*p);


    t a=1,b=0; if(!a) b++; else b+=3; printf(“%d ”,b); return 0;

  • 第4题:

    下列程序的输出结果是()。ineludemain(){int a[5]={2,4,6,8,10},*p,**k; p=a;k=&p;

    下列程序的输出结果是( )。 #inelude <stdio.h> main() { int a[5]={2,4,6,8,10},*p,**k; p=a; k=&p; printf("%d",*(p++)); printf("%d\n",**k); }

    A.4

    B.22

    C.24

    D.46


    正确答案:C
    解析:指针变量p指向数组a的首地址,并把指针变量p的地址赋给指向指针的指针变量k。第一个printf函数输出2,第二个printf函数输出4。

  • 第5题:

    9、设int a=3,*p=&a;,则p的值是()。

    A.变量a的地址值

    B.无意义

    C.变量p的地址值

    D.3


    变量a的地址值