有以下程序 main0 {int a=l,b=3,c=5; int *p 1 =&a,*p2--&b,*p=&c; *p-~pl*(*p2); print~"%dXn",c); } 执行后的输出结果是______。A.1B.2C.3D.4

题目

有以下程序 main0 {int a=l,b=3,c=5; int *p 1 =&a,*p2--&b,*p=&c; *p-~pl*(*p2); print~"%dXn",c); } 执行后的输出结果是______。

A.1

B.2

C.3

D.4


相似考题
参考答案和解析
正确答案:C
解析:p1=&a表示指针变量p1指向元素1的地址;p2=&b表示指针变量p2指向元素3的地址;p=&c表示指针变量p指向元素5的地址;执行*p=*p1*(*p2)=1*3=3,所以最后的结果为:3。
更多“有以下程序 main0 {int a=l,b=3,c=5; int *p 1 =&a,*p2--&b,*p=&c ”相关问题
  • 第1题:

    以下程序的输出结果是includeint a[3][3]={1,2,3,4,5,6,7,8,9,},*p;main(){p=(int*)ma

    以下程序的输出结果是 #include<stdio.h> int a[3][3]={1,2,3,4,5,6,7,8,9,},*p; main() { p=(int*)malloc(sizeof(int)); f(p,a); printf("%d\n”,*p); free(p);} f(int *s,intp [][3]) { *s=p[1][1];}

    A.1

    B.4

    C.7

    D.5


    正确答案:D
    解析: 本题考查了二维数组元素引用的方法。题中用动态存储分配函数malloc分配了一个int型数据长度大小的内存,然后指针p指向了这段内存,函数f()中对p所指向的数据进行了赋值,p[1][1]为二维数组第二行第二列的元素,对应于实参a的元素5,所以输出结果为5。

  • 第2题:

    以下程序的输出结果是

    #include

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

    main( )

    { p=(int *)malloc(sized(int));

    f(p,a) ;

    printf("%d\n",*p);

    free(p);}

    f(int *s,int p[ ][3])

    { *s=p[1][1];}

    A.1

    B.4

    C.7

    D.5


    正确答案:D
    解析:本题考查了二维数组元素引用的方法。题中用动态存储分配函数malloc分配了一个int型数据长度大小的内存,然后指针p指向了这段内存,函数f( )中对p所指向的数据进行了赋值,p[1][1]为二维数组第二行第二列的元素,对应于实参a的元素5,所以输出结果为5。

  • 第3题:

    以下程序的输出结果是 int a[3][3]={1,2,3,4,5,6,7,8,9,},*p; int main(void) { p=(int*)malloc(sizeof(int)); f(p,a); printf("%d n",*p); return 0; } f(int *s, int p[][3]) { *s=p[1][1]; }

    A.1

    B.4

    C.7

    D.5


    B函数调用时,prt函数的作用是为使m数组中的数自增1,因此数组下标从0开始,每个元素都自加1。

  • 第4题:

    以下程序输出正确的是 ______。amovep(int *P,int(*A) [3],int n) {int i,j; for(i=0;i<n;i++ for(j=0;j<n;j++){ *p=a[i][j];p++;} } main() {int *p,a[3][3]={{1,3,5},{2,4,6}}; p=(int*)malloc(100); amovep(p,a,3); printf("%d%d\n",p[2],p[5]);free(p); }

    A.56

    B.25

    C.34

    D.程序错误


    正确答案:A
    解析:本题main函数中定义了指针p和二维数组a,通过函数amovep将数组的值存入指针p所指向的存储单元中,a的各各元素分别为:a[0][0]=1,a[0][1]=3,a[0][2]=5,a[1][0]=2,a[1][1]=4,a[1][2]=6,a[2][0]=0,a[2][1]=0,a[2][2]=0。通过malloc()函数绐指针分配内存空间,free()函数用于释放指针变量所用内存空间。在主函数中通过amovep(p,a,3)调用函数amovep,使得实参p与形参p,实参数组a与形参中指向数组的指针变量共用同一存储空间。最后输出p[2],p[5]为56。

  • 第5题:

    以下程序的输出结果是

    #include<stdio.h>

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

    main()

    { p=(int*)malloc(sizeof(int));

    f(p,a);

    printf("%d\n",*p);

    free(p); }

    f(int *s, int p[][3])

    { *s=p[1][1];}

    A.1

    B.4

    C.7

    D.5


    正确答案:D
    解析:本题考查了二维数组元素引用的方法。题中用动态存储分配函数malloc分配了一个int型数据长度大小的内存,然后指针p指向了这段内存,函数f()中对p所指向的数据进行了赋值,p[1][1]为二维数组第二行第二列的元素,对应于实参a的元素5,所以输出结果为5。