新手求助,编译通过了,执行出错了。
#include "stdio.h"int max(int x,int y)
{int z;
z=(x>y)? x:y;
return z ;
}
int min(int u,int v)
{int w;
w=(u>v)?v:u;
return w;
}
int exchange(int *p1,int *q1,int *r1)
{void bijiao(int *,int *);
if (*p1<*q1) bijiao(p1,q1);
if (*p1<*r1) bijiao(p1,r1);
if (*q1<*r1) bijiao(q1,r1);
return 0;
}
void bijiao(int *p2,int *q2)
{int team;
team=*q2;
*q2=*p2;
*p2=team;
}
int paixu(int *p3,int *q3,int *r3)
{void bijiao(int *,int *);
if (*p3>*q3) bijiao(p3,q3);
if (*p3>*r3) bijiao(p3,r3);
if (*q3>*r3) bijiao(q3,r3);
return 0;
}
void main()
{int a,b,c,d,e;
int *p,*q,*r;
scanf("%d,%d,%d",&a,&b,&c);
p=&a;
q=&b;
r=&c;
int (*p4)(int *,int *,int *);
int (*q4)(int,int);
e=((*q4)(a,b),c);
(*p4)(p,q,r);
scanf("%d",&d);
if(d==1)
{q4=max;
printf("max=%d",e);
}
if(d==2){
q4=min;
printf("min=%d",e);
}
if(d==3)
{
p4=exchange;
printf("%d,%d,%d",a,b,c);
}
if(d==4)
{
p4=paixu;
printf("%d,%d,%d",a,b,c);
}
}