Программа на C компилируется, но не выводит тестовые примеры в основном методе

Ashford13in спросил: 07 октября 2018 в 12:16 в: c

Весь смысл моего кода на C состоит в том, чтобы вставлять строковые узлы в алфавитном порядке. Вот мой код ....

#include <stdio.h>
#include <stdlib.h>
#include <string.h>typedef struct node {
    char * word;
    struct node * left;
    struct node * right;
}treeNode;treeNode * head = NULL;void traverse (treeNode * h)
{
    if(h->left == NULL){
        scanf("%s ", h->word);
        if(h->right != NULL){
            traverse(h->right);
        }
    }
    else{
        traverse(h->left);
        printf("%s ", h->word);
        if(h->right != NULL){
            traverse(h->right);
        }
    }    treeNode *newNode(char * s)
    {
        treeNode *insert = (treeNode*)malloc(100*sizeof(treeNode));
        insert->left = NULL;
        insert->right = NULL;
        insert->word = s;
        return insert;
    }    treeNode * addNode (treeNode * h, char * s)
    {
        if(h == NULL){
            return newNode(s);
        }
        else{
            if (strcmp (h->word, s)> 0){
                h->left = addNode(h->left,s);
            }
            else{
                h->right = addNode(h->right,s);
            }
        }
        return h;
    }
    void main()
    {        printf("\nTest Animals 1");
        head = insert(head, "dog");
        insert(head, "horse");
        insert(head, "frog");
        insert(head, "fish");
        insert(head, "cow");
        traverse(head);
        head = NULL;        printf("\nTest Food 2");
        head = insert(head, "pizza");
        insert(head, "sushi");
        insert(head, "burger");
        insert(head, "salad");
        insert(head, "nuggets");
        traverse(head);
        head = NULL;        printf("\nTest Sports 3");
        head = insert(head, "soccer");
        insert(head, "basketball");
        insert(head, "football");
        insert(head, "tennis");
        insert(head, "gymnastics");
        traverse(head);
        head = NULL;    }

Он прекрасно компилируется без каких-либо ошибок, но мой основной метод не позволяет мне распечатывать мои примеры тестов. Может ли быть проблема в самом коде? Я все это осмотрел и не вижу, что с ним не так. Это также мой первый код на C, поэтому я прошу прощения, если есть ошибки, которые я мог пропустить.

0 ответов