-1
I am trying to insert a new element a chained list without head, I can even insert more when leaving the function the pointer points to null again
void cadastrar_produto(char codProd[], char descricao[], char fornecedor[], char data_validade[], int qtd, double preco, produto *prod){
produto *p = (produto *) malloc(sizeof(produto));
strcpy(p->codigo,codProd);
strcpy(p->descricao,descricao);
strcpy(p->fornecedor,fornecedor);
strcpy(p->data_validade,data_validade);
p->qtd = qtd;
p->preco = preco;
p->prox = NULL;
/* Inserindo o Produto na lista */
if(prod == NULL){// ele cai dentro desse if sempre
prod = p;
}else{
produto *lst;
for(lst = prod;lst->prox != NULL; lst = lst->prox){
puts("for");
if(comparaString(lst->codigo, p->codigo) == 1){
puts("Código já cadastrado !!!");
break;
}
if(lst->prox != NULL){
lst = lst->prox;
}else{
lst->prox = p;
break;
}
}
}
listar(prod);// ele lista o produto corretamente
system("pause");
}
I don’t see why he doesn’t get on the list after he leaves office