1.以下程序的运行结果是( )
int *swap(int *a,int *b)
{ int *p;
p=a;a=b;b=p;
return a;}
main()
{ int x=3,y=4,z=5;
swap(swap(&x,&y),&z);
printf("%d,%d,%d",x,y,z);}
答案:3,4,5
2.以下程序的运行结果是( )
swap(int *p1,int *p2)
{ int p;
p=*p1;*p1=*p2;*p2=p;
}
main()
{
int a=5,b=7,*ptr1,*ptr2;
ptr1=&a,ptr2=&b;
swap(ptr1,ptr2);
printf("%d,%d\n",*ptr1,*ptr2);
printf("%d,%d\n",a,b);
}
答案:7,57,5
请详细说明一下过程,谢谢
|