#include "stdio.h"
void swap(int *p1,int *p2);
void main()
{
int *p1,*p2;
int a,b;
printf("Enter Numbers:\n");
scanf("%d%d",&a,&b);
p1=&a;
p2=&b;
if(a>b) swap(p1,p2);
printf("%d %d\n",a,b);
printf("%d %d\n",*p1,*p2);
}
void swap(int *p1,int *p2)
{ int temp;
temp=*p1;
*p1=*p2;
*p2=temp;
}
上面程序中主函数传递的是地址,而void swap(int *p1,int *p2)是int *p1和int *p2啊??
swap() 中为什么是 int *p1 和int *p2 啊?*p1和*p2不是p1、p2指向的变量么!而主函数传递过来的是地址啊! 百思不得其解!= =!