第1个回答 2012-03-22
p和q是指针,而fun函数里面作为桥梁的不应该是指针,如要想实现应该传递p q的地址。
就像:fun(int a,int b)
{
int temp;
temp=a;
a=b;
b=temp;
}
void main()
{
int x = 1,y = 2;
fun(x,y);
printf("%d%d",x,y);
}
和这个程序的错误类似!
上面的程序应改为:fun(int *a,int *b)
{
int temp;
temp=*a;
*a=*b;
*b=temp;
}
void main()
{
int x = 1,y = 2;
fun(&x,&y);
printf("%d%d",x,y);
}
说白了就是temp a b 不应该是同一级别!