以下のコードは実行中ですが、ツリーに挿入する 2 番目の数値を取得した後、プログラムがクラッシュします。なぜですか? ユーザー入力 1 は挿入用、0 は終了用です よろしくお願いします...
#include<stdio.h>
#include<stdlib.h>
typedef struct ll
{
int data;
struct ll *left;
struct ll *right;
}node;
void insert(node **root,int n)
{
if((*root)==NULL)
{
(*root)=(node*)malloc(sizeof(node));
(*root)->data=n;
}
else if(((*root)->data)<n)
{
insert(&(*root)->right,n);
}
else if(((*root)->data)>n)
{
insert(&(*root)->left,n);
}
}
main()
{
node *head=NULL;int choice,n;
while(1)
{
printf("Enter 1 to insert node\n 0 to exit\n");
scanf("%d",&choice);
switch(choice)
{
case 1: printf("Enter number\n");
scanf("%d",&n);
insert(&head,n);break;
case 0:exit(0);
}
}
}