求教
帮忙看看这程序有 什么 问题 #include <stdio.h>
#include<malloc.h>
typedef struct node{char data;
struct node*link;
}NODE;
NODE*create_link_list(int n)
{int i;
NODE*head,*p,*q;
if(n==0)return (NULL);
head=(NODE*)malloc(sizeof(NODE));
p=head;
for (i=1;i<n;i++)
{scanf("%c",&(p->data));
q=(NODE*) malloc (sizeof(NODE));
p->link=q;
p=q;
}
scanf("%c",&(p->data));
p->link=NULL;
getchar();
return(head);
}
int main()
{int n,m=0;
NODE*head,*p,*q;
printf("please input n:\n");
scanf("%d", &n);
head=create_link_list(n);
if(head!=NULL)
{
p=head;
while(p->link!=NULL)
{
m++;
q=p->link;
p->link=q->link;
}
printf("%d",m);
}
else(m==0);
printf("%d",m);
return(1) ;
}