出现的这个错误怎么改啊unresolved external symbol _scllinser, 1 unresolved externals
头文件是gf.htypedef struct node
{
datatype data;
struct node *next;
}sclnode;
void scllinitiate(sclnode **head)
{
*head=(sclnode*)malloc(sizeof(sclnode));
(*head)->next=*head;
}
int scllinsert(sclnode *head,int i,datatype x)
{
sclnode *p,*q;
int j;p=head->next;
j=1;
while(p!=head&&j<i-1)
{
p=p->next;
j++;
}
if(j!=i-1&&i!=1)
{
printf("插入位置参数错误!");
return 0;
}
q=(sclnode*)malloc(sizeof(sclnode));
q->data=x;
q->next=p->next;
p->next=q;
return 1;
}
int sclldelete(sclnode*head,int i,datatype*x)
{
sclnode *p,*q;
int j;
p=head;
j=0;
while(p->next!=head&&j<i-1)
{
p->next;
j++;
}
if(j!=i-1)
{
printf("删除位置参数错!");
return 0;
}
q=p->next;
p->next=p->next->next;
*x=q->data;
free(q);
return 1;
}
int scllget(sclnode*head,int i,datatype *x)
{
sclnode *p;
int j;
p=head;
j=0;
while(p->next!=head&&j<i)
{
p=p->next;
j++;
}
if(j!=i)
{
printf("取元素位置参数错!");
return 0;
}
*x=p->data;
return 1;
}
int scllnotempty(sclnode*head)
{
if(head->next==head)
return 0;
else return 1;
}
主函数d.h
#include<stdio.h>
#include<stdlib.h>
typedef struct
{
int number;
int cipher;
}datatype;
#include"gf.h"
void sclldeleteafter(sclnode*p)
{
sclnode*q=p->next;
p->next=p->next->next;
free(q);
}
void jesephring(sclnode*head,int m)
{
sclnode*pre,*curr;
int i;
pre=head;
curr=head->next;
while(scllnotempty(head)==1)
{
for(i=1;i<m;i++)
{
pre=curr;
curr=curr->next;
if(curr=head)
{
pre=curr;
curr=curr->next;
}
}
printf("%d ",curr->data.number);
m=curr->data.cipher;
curr=curr->next;
if(curr==head)
curr=curr->next;
sclldeleteafter(pre);
}
}
void main(void)
{
datatype test[7]={{1,3},{2,1},{3,7},{4,2},{5,4},{6,7},{7,4}};
int n=7,m=20,i;
sclnode*head;
scllinitiate(&head);
for(i=1;i<=n;i++)
scllinser(head,i,test[i-1]);jesephring(head,m);
}