一组整数已存放在带头结点的单链表中,设计算法,求结点的最大值,最小值,并运用形参返回

需要几个返回结果,就定义几个符合类型的指针

#include <stdio.h>
#include <stdlib.h>
typedef struct node{
  int data;
  struct node *next;
  }Node,*LinkList;
  int fact(LinkList h,int *max);
  int prime(LinkList h,int *min);
  LinkList create(){
   LinkList h,r,s;
   h=(LinkList)malloc(sizeof(Node));
   r=h;
   int a;
   scanf("%d",&a);
   while(a!=0){
   s=(LinkList)malloc(sizeof(Node));
   s->data=a;
   r->next=s;
   r=s;
   scanf("%d",&a);
   }
   r->next=0;
   return h;
   }
   }
   int fact(LinkList h,int *max){
   LinkList p;
   p=h->next;
   *max=p->data;
   while(p){
   if(*max<p->data)*max=p->data;
   p=p->next;
   }return *max;
   }
   int prime(LinkList)malloc(sizeof(Node)){
   LinkList p;
   p=h->next;
   *min=p->data;
   while(p){
   if(*min>p->data)*min=p->data;
   p=p->next;
   }return *min;
   }
   int main(){
   LinkLst head;
   int max,min;
   head=create();
   fact(head,&max);
   prime(head,&min);
   printf("%d %d\n",max,min);
   return 0;
   }