新手求链表改错!!
											 程序代码:
程序代码:#include<stdio.h>
#include<stdlib.h>
typedef struct Node{
    int data;
    struct Node *next;
}    ElemSN;
ElemSN *Creatlink(int a[],int n)                        //创建链表  
{
    ElemSN *p,*h,*t;
    for(int i=0;i<n;i++)
    {
        p=(ElemSN *)malloc(sizeof(ElemSN));             
        p->data=a[i];                                
        p->next=NULL;                                
        if(i==0)    
            t=h=p;                                
        else
            t=t->next=p;                            
    }
    
    return h;
}
ElemSN *DelTailNode(ElemSN *h)
{
    ElemSN *delp,*t,*q=h;
    for(delp=h->next;delp->next;delp->next)
    {
        if(delp->data==q->data)                //删除重复值
        {    
            q->next=delp->next;                //连动指针            
            free(delp);
            delp=delp->next;                //delp指向下一个结点
        }
    }
        return h;
        
}
void Printlink(ElemSN *h)
{
    ElemSN *p;
    for(p=h;p;p=p->next)
        printf("%3d",p->data);
}
int main(void)
{
    int a[10]={1,2,3,4,22,6,71,83,9,3};
    ElemSN *head;
    head=Creatlink(a,10);
    head=DelTailNode(head);
    Printlink(head);
    return 0;
}
										
					
	


 
											





 
	    

 
	
 
											




