功能是将一个单链表倒置 , 就是将最后一个点作为第一个,倒数第2个点最为第2个,依次类推
#include <stdio.h>struct link{
int num;
struct link *next;
};
struct link * revers(struct link *p)
{
struct link *q,*r,*d;

d=p;
q=p;
r=p;
p=p->next;

while(p->next!=NULL)
{

q=p;
p=p->next;
q->next=r;
    r=q;
    

d->next=NULL;
p->next=q; return p;}main() 
{
struct link a,b,c,*p,*q;
     a.num=1;
b.num=2;
c.num=3;    p=&a;
a.next=&b;
b.next=&c;
    c.next=NULL;
 q=revers(&p); do 
{
printf("%d\n",q->num);

q=q->next;
}
    while (q->next!=NULL);}