왜 출력이 안됄까요..ㅠ
목화
질문 제목 : 질문 내용 :
#include stdio.h
#include stdlib.h
#include conio.h
#include string.h
#define true 1
#define false 0
typedef struct node
{
int data;
struct node* plink;
}node;
typedef struct list
{
int elementcount;
node headernode;
}list;
list* createdlist(void);
int addelement(list* tail,int position,node data);
void display(list* tail);
int getlenth(list* tail);
node* getelement(list* tail, int position);
void rounddisplay(list* tail);
void main()
{
list* taila,*tailb;
node data;
taila=createdlist();
tailb=createdlist();
if(taila == null || tailb == null)
return;
data.data=1;
addelement(taila,0,data);
data.data=3;
addelement(taila,1,data);
data.data=5;
addelement(taila,2,data);
//display(taila);
data.data=7;
addelement(tailb,0,data);
data.data=9;
addelement(tailb,1,data);
//display(tailb);
rounddisplay(taila);
rounddisplay(tailb);
}
list* createdlist(void)
{
list* preturn;
preturn=(list*)malloc(sizeof(list));
if(preturn==null)
{
puts(메모리 할당 오류);
return null;
}
memset(preturn,0,sizeof(preturn));
return preturn;
}
int addelement(list* tail,int position,node data)
{
int ret=false;
int i;
if(tail != null)
{
if(position = 0 &&
position = tail-elementcount){
node* newnode=null,* prenode=null;
newnode=(node*)malloc(sizeof(node));
if(newnode == null){
puts(메모리 할당 오류(생성));
return ret;
}
*newnode=data;
newnode-plink=null;
prenode=&(tail-headernode);
for(i=0; iposition; i++)
{
prenode=prenode-plink;
}
newnode-plink=prenode-plink;
prenode-plink=newnode;
ret=true;
tail-elementcount++;
}
else{
puts(인덱스 오류);
printf(psoition: [%d] elementcount: [%d]\n,
position,tail-elementcount);
}
}
return ret;
}
void display(list* tail)
{
int len,i;
len=getlenth(tail);
if(len == 0){
puts(존재하는 원소가 없습니다);
return;
}
printf(\nnow element count: %d\n,
tail-elementcount);
for(i=0; ilen; i++)
{
printf(psotion[%d] - %d\n,
i, getelement(tail,i)-data);
}
}
int getlenth(list* tail)
{
int len=0;
if(tail != null)
{
len=tail-elementcount;
}
return len;
}
node* getelement(list* tail, int position)
{
int i;
node* prenode=null;
if(tail != null)
{
if(position = 0 &&
position tail-elementcount){
prenode=tail-headernode.plink;
for(i=0; iposition; i++){
prenode=prenode-plink;
}
return prenode;
}
}
return prenode;
}
void rounddisplay(list* tail)
{
int count=0, i=0;
node* prenode;
if(tail != null)
{
prenode=tail-headernode.plink;
while(prenode != null)
{
printf(position[%d] - %d\n,
count,prenode-data);
count++;
prenode=prenode-plink;
}
}
}
왜 출력이 안돼는걸까요?
알려주시면 감사하겠습니다.