Ошибка компиляции Undefined reference to - C (СИ)
Формулировка задачи:
Здравствуйте! Прохожу Структуры со ссылками на себя. В примере была указана программа бинарного дерева. При компиляции кода ошибка: Undefined reference to 'treeprint'.
Вот код(он большой, но думаю вникать в него не обязательно):
#include <stdio.h> #include <ctype.h> #include <string.h> #include <malloc.h> #define MAXWORD 100 struct tnode { char *word; int count; struct tnode *left; struct tnode *right; }; struct tnode *addtree(struct tnode *p, char *w); int getword (char *word, int lim); void treeprint(struct tnode *p); struct tnode *talloc(void); char *strdup(char *s); main() { struct tnode *root; char word[MAXWORD]; root = NULL; while (getword(word, MAXWORD) != EOF) if (isalpha(word[0])) root = addtree(root, word); treeprint(root); } int getword(char *word, int lim) { int c; //void ungetch(int); char *w = word; while (isspace(c = getch())) ; if (c != EOF) *w++ = c; if (!isalpha(c)) { *w = '\0'; return c; } for ( ; --lim > 0; w++) if (!isalnum(*w = getch())) { ungetch(*w); break; } *w = '\0'; return word[0]; } struct tnode *addtree(struct tnode *p, char *w) { int cond; if (p == NULL) { p = talloc(); p->word = strdup(w); p->count = 1; p->left = p->right = NULL; } else if ((cond = strcmp(w, p->word) == 0)) p->count++; else if (cond < 0) p->left = addtree(p->left, w); else p->right = addtree(p->right, w); return p; } void treeprint(struct tnode *p) { if (p != NULL) { treeprint(p->left); printf("%.4d %s\n", p->count, p->word); treeprintf(p->right); } } struct tnode *talloc(void) { return (struct tnode *) malloc(sizeof(struct tnode)); } char *strdup(char *s) { char *p; p = (char *) malloc(strlen(s)+1); if (p != NULL) strcpy(p, s); return p; }
Решение задачи: «Ошибка компиляции Undefined reference to»
textual
Листинг программы
while (isspace(c = getch())) ; if (c != EOF) *w++ = c; if (!isalpha(c)) { *w = '\0'; return c; } for ( ; --lim > 0; w++) if (!isalnum(*w = getch())) { ungetch(*w); break; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д