模糊的指针问题,求高手指点
新手入门,麻烦高手给帮我修正一下下程序多谢

/*通过调用函数指针达到求最大值和排序的目的*/
程序代码:#include<stdio.h>
#include<string.h>
main()
{
char max(char *p);
char px(char *str);
void fun(char,char (*f)(char *t));
char a[10],b[10],*p;
p=b;
scanf("%s",a);
scanf("%s",b);
printf("max=");
fun(a,max);
fun(b,px);
printf("%s",p);
}
char max(char *p)
{char m;
m=*p;
while(*p++>m)
{m=*p;}
return(m);
}
char px(char *str)
{
int i,j;
char k;
for(i=0;i<9;i++)
for(j=0;j<10-i-1;j++)
if(str[j]>str[j+1])
{k=str[j];str[j]=str[j+1];str[j+1]=str[j];} }
void fun(char *s,char (*f)(char *t))
{char m;
m=(*f)(*s)
printf("%c",m);
}









