void caulen(linklist head)
{
int len=0;
linklist p;
head=(linklist)malloc(sizeof(lnode));
p=(linklist)malloc(sizeof(lnode));
p=p->next;
while(p!=NULL)
{
len++;
}
printf("长度为%d",len);
}
你在输入数据的时候,调用这个函数了吗?或者应该就这个计算长度的放在输入函数中
你这个p啥也不是啊,就是一个结点而已,哪来的while循环啊
你确定进入while后不会死循环嘛?都没有退出条件
修改如下,供参考:
void caulen(linklist head)
{
int len=0;
linklist p = head;
//head=(linklist)malloc(sizeof(lnode));
//p=(linklist)malloc(sizeof(lnode));
//p=p->next;
while(p!=NULL)
{
len++;
p = p->next;
}
printf("长度为%d",len);
}