看了很久都不明白这个程序哪里错,求高手看一下!
#include<stdio.h>typedef struct
{char data;
int cur;
}component,list[100];
void init(list *s)
{
int i;
for(i=0;i<99;++i)
s[i]->cur=i+1;
s[99]->cur=0;
}
int malloc(list *s)
{
int i;
i=s[0]->cur;
if(s[0]->cur)s[0]->cur=s[i]->cur;
return i;
}
void free(list *s,int k)
{
s[k]->cur=s[0]->cur;s[0]->cur=k;
}
void main()
{
int x,r,m,n,j,i,k,p; char b; list *s;
init(list *s);
x=malloc(s);
r=x;
scanf ("%d,%d",&m,&n);
for(j=1;j<=m;++j)
i=malloc(s);
scanf("%c",s[i]->data);
s[r]->cur=i;r=i;
s[r]->cur=0;
for(j=1;j<=n;++j)
{
scanf("%c",&b);
p=x;k=s[x]->cur;
while (k!=s[r]->cur&&s[k]->data!=b)
{p=k;k=s[k]->cur;}
if (k==s[r]->cur)
{ i=malloc(s);s[i]->data=b;s[i]->cur=s[r]->cur;s[r]->cur=i;}
else
{s[p]->cur=s[k]->cur;free(s,k);if (r==k)r=p;}
}
}
: error C2143: syntax error : missing ')' before 'type'
: error C2198: 'init' : too few actual parameters
: error C2059: syntax error : ')'
好像就只有红色字体是错的。。。。但不知道怎么修改和为什么?请大家帮忙看一下吧。。