时间:2011-09-20 13:24:43
1输入a和b两个整数,按先大后小的顺序输出a和b。
#include <stdio.h>
void main()
{ int *p1 ,*p2,*p,a,b;
scanf(″%d,%d″,&a,&b);
p1=&a;p2=&b;
if(a<b)
{p=p1;p1=p2;p2=p;}
printf(″a=%d,b=%dnn″,a,b);
printf(″max=%d,min=%dn″,*p1,*p2);
}
运行情况如下:5,9
a=5,b=9
max=9,min=5
当输入a=5,b=9时,由于a<b,将p1和p2交换。交换前的情况见图(a),交换后见图(b)。
2对输入的两个整数按大小顺序输出
#include <stdio.h>
void main()
{void swap(int *p1,int *p2);
int a,b;
int *pointer_1,*pointer_2;
scanf(″%d,%d″,&a,&b);
pointer_1 =&a; pointer_2 =&b;
if(a<b)
swap( pointer_1 , pointer_2 );
printf(″n%d,%dn″,a,b);
}
void swap(int *p1,int *p2)
{ int temp;
temp=*p1;
*p1=*p2;
*p2=temp;
}
void swap(int *p1,int *p2)
{ int *temp;
*temp=*p1;
p1=*p2;
p2=*temp;
}
void swap(int *p1,int *p2)
{ int *p;
p=p1;
p2=p;
}