char a[4];
struct node *link;
}NODE;
void print(NODE *p)
{
int i;
for(;p->link!=NULL;p=p->link)
{for(i=0;i<4;i++)printf("%c ",p->a[i]);}
}
void main()
{
NODE *head,*p;
int i;
head=(NODE *)malloc(sizeof(NODE));
p=head;
printf("input the linklist value:\n");
while(1)
{ for(i=0;i<4&&p->a[i]!='\0';i++)scanf("%c",&p->a[i]);
if(p->a[i]=='\0')break;
p=p->link=(NODE *)malloc(sizeof(NODE));
}
p->link=NULL;
printf("these are you input values:\n");
print(head);
}
为什么运行后我输入字符,程序就自己崩溃了?可能while 语句有问题,也或许别的地方。
请大神解答。感激不尽!!!