一个关于“值传递”的问题
源代码:#include <stdio.h>
void swap (int p1, int p2)
{
int temp=p1;
p1=p2;
p2=temp;
printf("in swap ,p1=%d, p2=%d\n",p1,p2);
}
void swap1(int*p1,int*p2)
{
int temp;
temp=*p1;
*p1=*p2;
*p2=temp;
printf("in swap1,p1=%d, p2=%d\n",*p1,*p2);
}
int main(void)
{
int a=0;
int b=9;
printf("before swap,a=%d, b=%d\n",a,b);
swap(a,b);
printf("after swap, a=%d, b=%d\n",a,b);
swap1(&a,&b);
printf("after swap1, a=%d, b=%d\n",a,b);
}
此乃开源软件丛书之《linux上的c编程》19页代码修改后的,
以免耽误学弟学妹。。。
本来是求助的没想到自己把问题解决了,,呵呵