33,311
社区成员
发帖
与我相关
我的任务
分享
void swap(int *p1,int *p2) // 实参是p1和p2
{
int *temp;
temp=p1; // 在函数内部的p1和p2,是实参p1和p2的副本,仅在函数体内有效。
p1=p2; // 你在这里再怎么改变p1和p2,一离开函数,原来的实参不会发生任何改变
p2=temp; // 正是因为这个原因,不能用过改变指向来达到交换的目的,而是要通过
} // 改变p1和p2所指向的值,来达到交换的母的
void swap(int *p1,int *p2)
{
int temp;
temp = *p1; // 在这里p1和p2本身没有发生改变,但他们所指向的值发生了改变
*p1 = *p2;
*p2 = temp;
}
void swap(int *p1,int *p2)
{
int temp;
temp=*p1;
*p1=*p2;
*p2=temp;
}
void swap(int *p1,int *p2)
{
int temp;
temp=*p1;
*p1=*p2;
*p2=temp;
}