请教关于指针做参数将两整数从大到小输出的问题,多谢!
#include<stdio.h>main()
{
int a,b;
int *p1,*p2;
void swap(int *pa,int *pb);
p1=&a;p2=&b;
scanf("%d %d",&a,&b);
if(a<b)
swap(p1,p2);
printf("%d %d",*p1,*p2); /*谭浩强这本书上说,这样是不能将两整数从大到小输出的,解释是:调用函数不可能改变实参指针变量的值,但可以改变实参变量所指变量的值。我刚看到chinalab的一个视频,说把 printf("%d %d",*p1,*p2); 改成 printf("%d %d",a,b); 就可以正确输出,我觉得这个也是不可以的,自己在运行了下,的确是不可以,但是呢还想请教下关于谭浩强那句话更详细的解释。多谢啦!*/
}
void swap(int *pa,int *pb)
{
int *p;
p=pa;
pa=pb;
pb=p;
}