|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 破翳の刃 于 2013-4-24 21:01 编辑
#include<stdio.h>
int *p, a,b,c,*p1,*p2,*p3;
void main()
{
void exchange(int *p1, int *p2, int *p3);
printf("please input three numberes:\n");
scanf("%d,%d,%d",&a,&b,&c);
p1=&a;
p2=&b;
p3=&c;
exchange(p1,p2,p3);
printf("%d,%d,%d\n",*p1,*p2,*p3);
}
void exchange( int *p1, int *p2, int *p3)//交换函数
{
void swap(int *p1, int *p2);//两个的交换函数
if(*p1<*p2)
{
swap(p1,p2);
}
if(*p1<*p3)
{
swap(p1,p3);
}
if(*p2<*p3)
{
swap(p2,p3);
}
}
void swap(int *p1, int *p2)
{
p=p1;
p1=p2;
p2=p;
}
单步调试后,在exchange函数if语句中调用swap函数时还是好好的,但是出了swap函数突然p1和p2又回原了 不知道为什么,望高手指教
|
|