编写下列函数:
void swap(int *p,int *q) ;
当传递两个变量的地址时,swap函数应该交换两者的值:
swap (&X,&y) ; /* exchange values of x and y */
常规思路程序如下:
#include <stdio.h>
void swap(int a, int b);
main(){
int x = 1, y = 2;
swap(x, y);
printf("x = %d, y = %d\n", x, y);
return 0;
}
void swap(int a, int b){
int temp;
temp = a;
a = b;
b = temp;
}
修改后的程序:
#include <stdio.h>
void swap(int *a, int *b);
main(){
int x = 1, y = 2;
swap(&x, &y);
printf("x = %d, y = %d\n", x, y);
return 0;
}
void swap(int *a, int *b){
int temp;
temp = *a;
*a = *b;
*b = temp;
}