菜鸟求问!!C语言
#define NULL 0
typedef struct Node
{ int data;
struct Node *next;
}Node, *Linklist;
Linklist()
{ Linklist L;
Node *s;
char c;
int flag=1;
L=(Linklist)malloc(sizelf(Node));
L->next=NULL;
while(falg)
{
c=getchar();
if(c!='$')
{
s=(Node*)malloc(sizele(Node));
s->data=c;
s->next=L->next;
L->next=s;
}
else flag=0;
}
return L;
}
struct Node *print(struct Node *L)
{ stuct Node *head;
head=L;
for(head->data!='$')
{
printf("%d",head->data);
head=head->next;
}
main()
{ clrscr();
printf("please input a Linklist:");
A=Linklist();
scanf("%d",&L->data);
print(L);
}为什么在TC2.0上运行不了啊 ??说是Declaration syntax error 高手指教下 谢谢 (这是用头插法输出一个链表)
参考答案:这个程序太老,而且有语法错误。如:函数LinkList()返回值为LinkLIst,而这个程序,使用默认返回类型,即:int型。
ypedef struct Node
{ int data;
struct Node *next;
}Node, *Linklist;
定义了一个自定义的结构类型为Node,而又声明了一个结构变量为Node,显然错误!
而全局结构指针变量LinkList名,又与函数LinkList同名。
要正确通过编译,请修改个个变量或函数名。