修改后:
//#include"stdafx.h"
#include
#include
#include
typedef struct node{
int data;
struct node *next;
}node;
int len=0;
node *create()
{
node *head,*p,*q;
int x;
head=(node *)malloc(sizeof(node));
while(1)
{
printf("please input the node:");
scanf("%d",&x);
if(x==0) {break;}
p=(node *)malloc(sizeof(node));
p->data=x;
++len;
if(len==1)
{
head->next=p;
}
else
{
q->next=p;
}
q=p;
}
q->next=NULL;
return head;
}
node *search(node *head,int pos)
{
node *p;
p=head->next;
if(pos<0) {
printf("incorrect position!\n"); return NULL;
}
else if(pos>len)
{
printf("incorrect position!\n"); return NULL;
}
else if(pos==0) {
return head;
}
if(p==NULL) {
printf("the link is empty!\n"); return NULL;
}
while (--pos)
{ p=p->next; }
return p;
}
node *insert(node *head,int pos,int x)
{
node *p,*q=NULL;
q=(node *)malloc(sizeof(node));
q->data=x;
if(pos==0) {
head->next=q; return head; }
p=search(head,pos);
if(p!=NULL) { q->next=p->next; p->next=q; }
len++;
return head;}
void main()
{
}
typedef struct node{
int data;
struct node *next;
}node;
{
你这下面多了个大括号啊
return head;}
}
这里又多了一个
node *create(){
node *head,*p,*q;
int i=0;
int x;
head=(node *)malloc(sizeof(node));
while(1){
printf("please input the node:");
scanf("%d",&x);
if(x==0) {break;}
p=(node *)malloc(sizeof(node));
p->data=x;
if(++i==1)
{
head->next=p;
}
else
{
q->next=p;
}
q=p;
}
q->next=NULL;
return head;
}
q没有初始化
length(head);没有定义这个函数
试试:
#include “stdio.h”
变成
#include
我用的是linux 没有 stdafx.h 这个库文件 。不能看具体代码