niusouti.com
更多“有如下程序int a[10]={1,2,3,4,5,6,7,8,9,10};int*p=&a[3],b;b=p[5];则b的值是A.5B.6C.9D.8 ”相关问题
  • 第1题:

    有如下程序段: int a[10]={1,2,3,4,5,6,7,8,9,10}; int *p=&a[3],b;b=P[5];则b的值是( )。

    A.5

    B.6

    C.9

    D.8


    正确答案:C
    解析:p=&a[3]将指针指向数组a的第4个元素,p[5]则是数组a的第9个元素,而a[8]=9,所以b=9。

  • 第2题:

    有以下程序: #includc<stdio.h> void fun(int *p) {printf("%d\n",p[5]);} main( ) {int a[10]={1,2,3,4,5,6,7,8,9,10}; fun(&a[3]); } 程序运行后的输出结果是( )。

    A.5

    B.6

    C.8

    D.9


    正确答案:B
    由题可知,fun(&a[3])是将&a[3]作为参数,而fun(int*p)后执行的语句为p[5],由数组a可知输出的为6。

  • 第3题:

    有如下语句 int a[10] = {1,2,3,4,5,6,7,8,9,10};int *p = a;则数值为9的表达式是______

    A.*p+9

    B.*(p+8)

    C.*p+=9

    D.p+7


    *(*(a+i))

  • 第4题:

    有以下程序

    #include<stdio.h>

    void fun(int*p)

    {printf("%d\n",p[5]);}

    main()

    { int a[10]={1,2,3,4,5,6,7,8,9,10};

    fun(&a[3]);

    }

    程序运行后的输出结果是

    A.5

    B.6

    C.8

    D.9


    正确答案:D
    解析:考察指针和函数的相关知识,a[3]指向的是数据值为4的地址,那么相当于是p指向数据值4的地址,那么p[5]指向就是数据值9的地址,所以输出9。

  • 第5题:

    下列程序段运行后a的值是 int a,b[]={1,2,3,4,5,6,7,8,9,10}; int *p1=&b[5]; a=p[3];

    A.3

    B.4

    C.5

    D.9


    D 解析: p指针指向变量a,因此*p=10,所以a=*p+b=10+1=11。