求教
以下程序首先建立一个链表, 函数fmax( )的功能是: 求出链表所有结点中, 数据域值最大的结点的位置, 并由参数s返回给主函数. 该函数的第一参数是链表的首指针.#include “stdio.h”
#include “alloc.h”
struct node
{ int data;
struct node *next;
}
void fmax(struct node *head, struct node 1 )
{ struct node *p;
p=head; *s=p;
if( p= = NULL) return;
while (p)
{ if(p->data > 2 ) *s=p;
p= 3 ;
}
}
void print(struct node *p)
{ while(p)
{ printf(“%5d”M p->data);
p=p->next;
}
printf(“\n”);
}
main( )
{ struct node *h=0, *p, *p1;
int a;
printf(“Input data:”); scanf(“%d”,&a);
while (a!=-1)
{ p=( struct node *)malloc(sizeof(struct node));
p->data=a;
if (h= =0) { h=p; p1=p;}
}
}