Hi everyone , I wanted to write a code that sort the numbers the biggest one to smalest .But I dont know why i always get a seg fault.Anyone to help me ? here is my code(I tried to make it simple as soon as possible)Thanks a lot for your helps.:
Code:#include<stdio.h> #include<stdlib.h> struct node{ int deger/*value*/; struct node * next; }; int data; struct node * head=NULL; struct node * fonk_mknode(int data){ struct node * np; np=malloc(sizeof(struct node)); np->deger=data; np->next=NULL; return np; } struct node * fonk_insert(struct node ** head,int data){ struct node * prev=NULL; struct node * visiter=*head; struct node * hold_data; hold_data=fonk_mknode(data); if(!visiter){ *head=hold_data; return *head; } else{ for( ;(visiter->deger)>(hold_data->deger);visiter=visiter->next){ prev=visiter; } if(!(visiter->next)){ prev->next=hold_data; return *head; } else{ prev->next=hold_data; hold_data->next=visiter; return *head; } } } void fonk_print(struct node *list){ for( ;list;list=list->next) printf("%d ",list->deger); printf("\n"); } int main(){ while(1){ scanf("%d",&data); if(data==-1) break; fonk_insert(&head,data); } fonk_print(head); return 0; }