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

题目

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

A.交换*p1和*p2的值

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

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

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

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

若有说明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;

第2题:

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

A.交换*p1和*p2的值

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

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

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


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

第3题:

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

A.交换*p1和*p2的值

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

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

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


A

第4题:

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

A.int *p1,*p2;

B.int *p1, int *p2;

C.int* p1,p2;

D.int *(p1,p2);


FILE *fp

第5题:

分析下列程序: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的值并没有发生变化。

第6题:

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

分析下列程序: #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,66,9

B.6,9 9,6

C.6,9 6,9

D.9,69,6


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

第7题:

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

分析下列程序:

#include<stdio.h>

main()

{ int*p1,*p2,*p;

inta=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的值并没有发生变化。

第8题:

分析下列程序: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的值并没有发生变化。

第9题:

写出下列程序的执行结果。 swap(p1,p2) int*p1,*p2; {int p; p=*p1;*p1=*p2;*p2=p; } main() {int a,b,*p1,*p2; scanf("%d%d",&a,&B); p1=&a;p2=&b; if(a<B)swap(p1,p2); printf("\na=%d,b=%d\n",a,B); } 若a=7,b=8,则程序的运行结果为( )。


正确答案:a=8b=7
a=8,b=7