分析下面函数 swap(int *p1,*p2) {int *p; *p=*p1;*p1=*p2;*p2=*p; } 则该程序功能为( )A.交换*p1和*p2的值B.正确,但无法改变*p1和*p2的值C.交换*p1和*p2的地址D.可能造成系统故障,因为使用了空指针

题目

分析下面函数 swap(int *p1,*p2) {int *p; *p=*p1;*p1=*p2;*p2=*p; } 则该程序功能为( )

A.交换*p1和*p2的值

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

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

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


相似考题
参考答案和解析
正确答案:D
更多“分析下面函数swap(int *p1,*p2){int *p;*p=*p1;*p1=*p2;*p2=*p;}则该程序功能为()A.交换*p1和*p2 ”相关问题
  • 第1题:

    分析下列程序:includemain(){ int*p1,*p2,*p;int a=6,b=9;p1=&a;p2=&b;if(a

    分析下列程序: #include<stdio.h> main() { int*p1,*p2,*p; int a=6,b=9; p1=&a;p2=&b; if(a<b){p=p1;p1=p2;p2=p;} printf("%d,%d",*p1,*p2); printf("%d,%d",a,b); } 程序的输出结果为( )。

    A.9,6 6,9

    B.6,9 9,6

    C.6,9 6,9

    D.9,6 9,6


    正确答案:A
    解析:通过p1=&a,p2=&b分别将a、b的地址赋给指针p1、p2,接着执行if语句,发现ab成立,则通过交换p1、p2的值,即交换a、b所在存储单元的地址,但是a、b的值并没有发生变化。

  • 第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题:

    若有说明int *p1,*p2,m=5,n;以下正确的程序段是 。

    A.p1=&m;p2=&p1;

    B.p1=&m;p2=&n;*p1=*p2;

    C.p1=&m;p2=p1;

    D.p1=&m;*p2=*p1;


    p1=&m;p2=p1;

  • 第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.可能造成系统故障,因为使用了空指针


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