为什么用指针:被调函数通过内存地址间接给数排序,与主函数共有一组内存地址,简化了值的返回
源程序:
#include <stdio.h>
void sortNum(int *x,int *y,int *z)
{
int temp;
if(*x<*y) temp=*x,*x=*y,*y=temp;//*取值运算符,把内存地址中的值取出来比较
if(*x<*z) temp=*z,*z=*x,*x=temp;
if(*y<*z) temp=*y,*y=*z,*z=temp;
}
int main()
{
int a,b,c;
printf("请输入三个数:");
scanf("%d%d%d",&a,&b,&c);
sortNum(&a,&b,&c);
printf("从大到小排序:%d %d %d",a,b,c);
return 0;
}
程序运行结果:
请输入三个数:45 65 33
从大到小排序:65 45 33