MinGW编译器进程返回进程返回0xC00000fd

时间:2012-12-07 18:47:06

标签: c mingw

我正在尝试在C中实现二进制搜索树。我在MinGW编译器中使用codeblocks ide

当我试图运行以下代码时,我的运行时错误 进程返回进程返回0xC00000fd

但是当我在http://ideone.com/汇编时 它可以正常工作,没有任何错误

解决:感谢@ user1161318

#include <stdio.h>
#include <stdlib.h>

struct node
{
    struct node *left;
    struct node *right;
    struct node *parent;
    int value;
}*r;

void inorder(struct node *root)
{
    int sam;
    if(root)
    {
        inorder(root->left);
        sam = root->value;
        printf(" %d ->",sam);
        inorder(root->right);
    }
}

void insert(struct node *root,int x)
{
    struct node *temp = (struct node*)malloc(sizeof(struct node));
    temp->value = x;
    struct node *y=root;
    while(root)
    {
        y = root;
        if(root->value > x)
        {
            root = root->left;
        }
        else
        {
            root = root->right;
        }
    }
    temp->parent = y;
    if(!y)
    {
        r=temp;
    }
    else if(x > y->value)
    {
        y->right = temp;
    }
    else
    {
        y->left = temp;
    }

}

int main()
{
    int i;
    for(i=0; i<10; i++)
    {
        insert(r,i);
    }
    inorder(r);
    return 0;
}

1 个答案:

答案 0 :(得分:1)

全局变量struct node *r未在main()中初始化。