写出结果void foo(int p1[]){*p1 += 5;}void bar(int p2[]){p2[1] = 15;}void main(){int a[]={3,4,5};int b[]={3,4,5};int *p2;p2=&a[1];bar(p2);printf("%i %i %i\n",a[0],a[1],a[2]);p2=&b[0];p2++;foo(p2);bar(p2);printf("%i %i %i\n",b[0],b[1],b[2]);}

题目

写出结果

void foo(int p1[])

{

*p1 += 5;

}

void bar(int p2[])

{

p2[1] = 15;

}

void main()

{

int a[]={3,4,5};

int b[]={3,4,5};

int *p2;

p2=&a[1];

bar(p2);

printf("%i %i %i\n",a[0],a[1],a[2]);

p2=&b[0];

p2++;

foo(p2);

bar(p2);

printf("%i %i %i\n",b[0],b[1],b[2]);

}


相似考题
参考答案和解析
正确答案:
 
更多“写出结果 void foo(int p1[]) { *p1 += 5; } void bar(int p2[]) { p2[1] = 15; } ”相关问题
  • 第1题:

    若有如下程序: sub(int * t,int n) {int *p1, *p2; for(p1=t,p2=t;p1-t<n;p1++) if(*p1<*p2) p2=p1; return(*p2);} main() {int a[9]={9,36,19,39,26,5,6,33,15}; printf("%d\n",sub(a,9));} 则程序运行后的输出结果是( )

    A.5

    B.9

    C.15

    D.39


    正确答案:A

  • 第2题:

    分析下面函数,以下说法正确的是 swap(int *p1,int *p2) { int *p; *p=*p1; *p1=*p2; *p2=*p; }

    A.交换*p1和*p2的值

    B.正确,但无法改变*p1和*p2的值

    C.交换*p1和*p2的地址

    D.可能造成系统故障,因为使用了空指针


    A

  • 第3题:

    写出下列程序的输出结果 #include <stdio.h> int main() { int *p1,*p2,*p,a,b; a=10; b=15; p1=&a; p2=&b; if(a<b) {p=p1;p1=p2;p2=p;} printf("a=%d,b=%dn",a,b); printf("%d,%dn",*p1,*p2); return 0; }


    20 0 20 0

  • 第4题:

    要定义两个指针变量,下面代码正确的是

    A.int *p1,*p2;

    B.int *p1, int *p2;

    C.int* p1,p2;

    D.int *(p1,p2);


    FILE *fp

  • 第5题:

    分析下面函数,以下说法正确的是 。 swap(int *p1,int *p2) { int *p; *p=*p1; *p1=*p2; *p2=*p; }

    A.交换*p1和*p2的值

    B.正确,但无法改变*p1和*p2的值

    C.交换*p1和*p2的地址

    D.可能造成系统故障,因为使用了空指针


    可能造成系统故障,因为使用了空指针