更多“int a[10]={1,2,3,4,5,6,7,8};int *p;p=&a[5];p[-3]的值是()。 ”相关问题
  • 第1题:

    下列程序的输出结果是( )。 void f(int *x, int *y) { int t; t=*x,*x=*y;*y=t; } main( ) { int a[8]={1,2,3,4,5,6,7,8},i,*p,*q; p=a;q=&a[7]; while(p<q) { f(p,q); p+ +; q--;} for (i=0;i<8;i+) printf("%d,",a[i]); }

    A.8,2,3,4,5,6,7,1

    B.5,6,7,8,1,2,3,4

    C.1,2,3,4,5,6,7,8

    D.8,7,6,5,4,3,2,1


    正确答案:D
    解析:函数f()的功能是对两个数据互换。在主函数中指针变量p和q分别指向数组a[8]的首和尾,在while循环中实现从首尾开始数组元素的互换操作。

  • 第2题:

    有变量定义如下: int *p; 通过p指针申请动态空间的语句中表达错误的是________

    A.p=(int *) malloc(sizeof(int));

    B.p=(int *) malloc(10*sizeof(int));

    C.p=(int *) calloc(10*sizeof(int));

    D.p=(int *) calloc(10,sizeof(int));


    p=(int *) calloc(10*sizeof(int));

  • 第3题:

    15、设有int b[3][5]; 下面哪一条语句是正确的?

    A.int (*p)[5] = b;

    B.int *p[] = b;

    C.int *p[5] = b;

    D.(int *)p[5] = b;


    A . 包括 15 岁 和 35 岁

  • 第4题:

    有以下程序:include void f(int * x,int * y) int t;t= *x; *x= *y; *y=t;main ( ){in

    有以下程序:#include <stdio.h>void f(int * x,int * y) int t; t= *x; *x= *y; *y=t;main ( ){ int a[8] = { 1,2,3,4,5,6,7,8} ,i, * p, * q; p=a;q =&a[7]; while(p<q) { f(p,q) ;p ++ ;q --; } for(i =0;i<8;i ++ ) printf(" % d," ,a[i]); }程序运行后的输出结果是( )。

    A.8,2,3,4.,5,6,7,1,

    B.5,6,7,8,1,2,3,4,

    C.1,2,3,4,5,6,7,8,

    D.8,7,6,5,4,3,2,1,


    正确答案:D
    解析:程序中函数f的作用是交换指针变量x和y所指向的存储单元的值。在main函数中,通过P=a;q=&a[7];指针变量p指向数组的第一个元素,指针变量q指向数组的最后一个元素。通过调用函数f(p,q)进行前后对称位置上的数组元素的交换。当while循环4次(即p=q)后,a数组中各元素的值分别为8,7,6,5,4,3,2,1,所以程序输出的结果为:8,7,6,5,4,3,2,1,

  • 第5题:

    int a[10]={1,2,3,4,5,6,7,8}; int *p=a; 和a[i]起的作用不同的表达式是()。

    A.p[i]

    B.p+i

    C.*(p+i)

    D.*(a+i)


    动力变质作用;接触变质作用;交代变质作用;区域变质作用