У меня проблема с нижеприведенной функцией, когда (*ptr)
равен NULL вместо завершения цикла while, функция завершается сбоем. Я пытался использовать if((*ptr)->next==NULL) break;
, но все равно не получается.
boolean search_times(struct list ** ptr, float *V, int n, struct list_times ** new ){
struct list * tmp_ptr=NULL;
if( V!=NULL && n>=0 ) {
while((*ptr)!=NULL) {
int times=0;
for (int i = 0; i < n; i++) {
if (isequal((*ptr)->value, V[i]))
times++;
}
if((suf_insert_times(new, (*ptr)->value, times))==FALSE)
return FALSE;
tmp_ptr=*ptr;
ptr=&(*ptr)->next;
free(tmp_ptr);
}
return TRUE;
}
else
return FALSE;
}