swap函数的两个形参p1和p2可以是指针变量。
举一反三
- 分析下面函数 swap(int *p1,*p2) {int *p; *p=*p1;*p1=*p2;*p2=*p; } 则该程序功能为 ( ) A: 交换*p1和*p2的值 B: 正确,但无法改变*p1和*p2的值 C: 交换*p1和*p2的地址 D: 可能造成系统故障,因为使用了空指针
- 以下函数( )。 fun(int *p1,int *p2) { int *p; *p=*p1; *p1=*p2; *p2=*p; } A: 能实现交换*p*p1和*p2的值 B: 指针变量p没有确定指向就使用,运行时出错 C: 能实现交换p1和p2的值 D: 能实现交换p1和p2的指向
- void swap(int *p1,int *p2) {int *p; *p=*p1;*p1=*p2;*p1=*p; } A: 交换*p1和*p2的值 B: 交换*p1和*p2的地址 C: 正确,但无法改变*p1和*p2的值 D: 可能造成系统故障,因为使用了空指针
- 调用下列哪个函数,能交换两个指针的指向()。 char str[]="China"; char *p1 = str, *p2 = “加油”; Swap (p1, p2); cout<< p1 << p2; // 加油China A: void Swap(char *p, char *q){ char *t = 0; t=p; p=q; q=t;} B: void Swap(char* p, char *q){ char t; t=*p;*p=*q;*q=t;} C: void Swap(char * *p, char * *q){ char* t = 0; t=*p;*p=*q;*q=t;} D: void Swap(char* &p, char * &q){ char* t = 0; t=p; p=q; q=t;}
- 已定义如下函数,函数的功能是________。char *strcat(char *p1,char *p2){ char *p=p1; while(*p!='\0') p++; while(*p2!='\0') *p++=*p2++; *p='\0'; return (p1);} A: 将p1所指字符串复制到p2所指内存空间 B: 将p1和p2两个指针所指字符串进行连接 C: 将p1所指字符串的地址赋给指针p2 D: 检查p1和p2两个指针所指字符串中是否有'\0'