バイナリ ツリーで一致するものを検索しているときに、セグメンテーション エラーが発生します。一致が見つかった場合はセグメンテーション違反は発生しませんが、何も見つからない場合は正しく終了していません。誰かが私を正しい方向に向けることができますか? 私は何を間違っていますか。
void search() {
char temp,temp1[15];
struct node *s=root;
int i=0;
do{
printf("Enter Name To Be Searched\n");
scanf("%s",temp1);
getchar();
i=0;
s=root;
while(s!=NULL && i==0){
if(strcmp(s->data,temp1)< 0)
s=s->right;
if(strcmp(s->data,temp1)>0)
s=s->left;
if(strcmp(s->data,temp1)==0)
i=1;
}
if(i==0)
printf("Element Not Found\n");
else
printf("Element Found\n");
printf("Enter More Elements[Y/N]:\n");
temp=getchar();
printf("%c", temp);
}while(temp=='y');
}