뭐가 잘못 됬을까요....
겨울바람
질문 제목 : 피보나치 수열 큐를 이용한 피보나치질문 내용 :
#include stdio.h
#include stdlib.h
struct _node{
int data;
struct _node* next;
};
typedef struct _node node;
const int max = 100;
void initqueue();
void push(int item);
int pop();
int get();
node* rear;
void initqueue()
{
rear = null;
}
void push(int item) {
if (rear == null) {
node* p = (node*)malloc(sizeof(node));
p-data = item;
p-next = p;
rear = p;
} else {
node* p = (node*)malloc(sizeof(node));
p-data = item;
p-next = rear-next;
rear-next = p;
rear = p;
}
}
int pop() {
int result;
node *del;
if (rear == null) {
result = -1;
}
else if (rear-next == rear){
del = rear;
result = rear-data;
rear = null;
free(del);
}
else if (rear-next != rear) {
del = rear-next;
result = rear-next-data;
rear-next = rear-next-next;
free(del);
}
return result;
}
int get() {
int result;
if (rear == null) {
result = -1;
}
else if (rear-next == rear){
result = rear-data;
}
else if (rear-next != rear) {
result = rear-next-data;
}
return result;
}
void main()
{
int n;
int quest = 5;
int temp1, temp2;
initqueue();
printf(enter number:);
scanf(%d, &quest);
quest = quest -2;
push(0);
push(1);
printf(\nf(0) = 0\n);
printf(f(1) = 1\n);
for(n = 0; n =quest; n++){
temp1 = pop();
temp2 = get();
printf(f(%d) = %d\n, n+2, temp1+temp2);
push(temp1 + temp2);
}
}
p = p-link;
r = r-link;
}
}
r-link = null;
return c;
}
void print(list *c)
{
while(c) {
printf(%d---,c-data);
c = c-link;
}
printf(null\n);
}무엇이 잘못 됫을까요 ㅠㅠ