问题描述
编程实现swap交换2个数的值。
代码实现:
#include<stdio.h>
void swap1(int a,int b){
int t;
t=a;
a=b;
b=t;
}
void swap2(int *pa, int *pb){
int *p;
p=pa;
pa=pb;
pb=p;
}
void swap3(int *p1,int *p2){
int p;
p=*p1;
*p1=*p2;
*p2=p;
}
void main(){
int x,y,*pt1,*pt2;
x=3;y=5;
printf("before swap: \n");
printf("x=%d,y=%d \n",x,y);
pt1=&x;
pt2=&y;
swap1(x,y);
printf("before swap1: \n");
printf("x=%d,y=%d \n",x,y);
swap2(pt1,pt2);
printf("before swap2: \n");
printf("x=%d,y=%d \n",x,y);
swap3(pt1,pt2);
printf("before swap3: \n");
printf("x=%d,y=%d \n",x,y);
}
代码运行截图:
分析:
这个编程问题在学习C语言的时候非常经典ÿ