询问一个指针的简单程序
main(){
int a,b,c,*p1,*p2,*p3;
scanf("%d,%d,%d",&a,&b,&c);
*p1=a,*p2=b,*p3=c;
exchange(p1,p2,p3);
printf("\n%d,%d,%d\n",a,b,c);
}
swap(int *pt1,int *pt2)
{
int *temp;
temp=*pt1;
*pt1=*pt2;
*pt2=temp;
}
exchange(int *q1,int *q2,int *q3)
{
if(*q1<*q2) swap(q1,q2);
if(*q2<*q3) swap(q2,q3);
if(*q1<*q2) swap(q1,q2);
}
最后我输入2,3,4
得出的结果居然也是2,3,4.
请高手指点下为什么?详细点更好~~ ^_^
[ 本帖最后由 arthurzhou 于 2009-9-6 10:56 编辑 ]