我试图在C中实现一个二进制搜索树。我在MinGW编译器中使用代码块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;
}

最佳答案

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

关于c - MinGW编译器进程返回进程返回0xC00000fd,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13769146/

10-10 00:18