有人能指点一下我这哪里错了(已解决)
我想用指针变量来实现4个数字由大到小的排列,但一直都搞不好。#include <stdio.h>
#include <math.h>
#include <stdlib.h>
// declare function
void swap(int *a, int *b);
// define function
void swap(int *a, int *b)
{
int temp;
temp=*a;
*a=*b;
*b=temp;
}
void sort(int *p1,int *p2,int *p3, int *p4)
{
if(*p1<*p2) swap(p1,p2);
if(*p1<*p3) swap(p1,p3);
if(*p1<*p4) swap(p1,p4);
if(*p2<*p3) swap(p2,p3);
if(*p2<*p4) swap(p2,p4);
if(*p3<*p4) swap(p3,p4);
}
int main()
{
int *p1,*p2,*p3,*p4,a,b,c,d;
printf("enter four integers\n");
scanf("%d %d %d %d", &a, &b, &c, &d);
p1=&a;
p2=&b;
p3=&c;
p4=&d;
sort (p1,p2, p3, p4);
printf("%d, %d, %d, %d", a, b, c, d);
return 0;
}
[此贴子已经被作者于2017-2-22 09:10编辑过]