我正在尝试用C实现一个二叉搜索树。我正在使用代码块ide与MinGW编译器
当我尝试运行以下代码时,此运行时错误 * 进程返回进程返回0xC 00000 fd *
但是当我在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;
}
2条答案
按热度按时间23c0lvtd1#
全局变量
struct node *r
未在main()
中初始化。atmip9wb2#
我在一个fortran程序中得到了这个错误,当我在编译器设置中禁用了OpenMP时,它就消失了。由于在其他地方编译和运行您的程序是有效的,因此您可能会遇到相同或类似的问题。