Ir ao conteúdo

Posts recomendados

Postado

celula* buscaLista(lista *l, char *palavra) {
    /// -----------------------------------------------------------------------------------------
    celula *tmp = NULL;
    tmp = l->inicio;
    int valor;
    do{
        valor = strcmp(palavra, tmp->palavra);  // --------- Meu programa tem varias outras funções, e uma delas chama essa buscaLista, e quando chega nesse strcmp da pau              

        if(valor == 0){                                          // ---------  programa!! Nao sei porque!  
            return tmp;
        }
        else{
            tmp = tmp->proximo;
        }

    }while(tmp != NULL);
    return NULL;
}

Postado
1 hora atrás, Bruno Dixini disse:

valor = strcmp(palavra, tmp->palavra);  // --------- Meu programa tem varias outras funções, e uma delas chama essa buscaLista, e quando chega nesse strcmp da pau              
        if(valor == 0){                                          // ---------  programa!! Nao sei porque!  
            return tmp;
        }

 

ficaria

if (strcmp ( palavra, tmp -> palavra) == 0){

 

 

}

Postado

declarou a biblioteca?

adicionado 17 minutos depois
celula *esse=NULL;
celula *aux=inicioLista;

while(aux!=NULL && esse==NULL){
	if(strcmp(palavra, aux->palavra)==0){
    	esse=aux;
    }else{
    	aux=aux->pox;
    }
}

return esse;

eu faria esse tipo de busca assim...

Postado

@Bruno Dixini Sua função busca um nó de uma lista certo?

Esse trecho

celula* buscaLista(lista *l, char *palavra){
    /// ------------------------------------
    celula *tmp = NULL;

Você já conferiu se dá certo mesmo? Talvez eu esteja errado, mas o tipo de é lista* e a variável tmp é do tipo celula* que logo em baixo recebe l->inicio, que é do tipo lista*, mas como disse, talvez esteja errado já que não disponho de todo o código

 

Mas voltando ao código, tente dessa forma (caso a do colega acima não de certo para você)

 

celula* buscaLista(lista* I, char* palavra)
{
	celula tmp = I;
	
	while(tmp != NULL)
	{
		if(strcmp(tmp->palavra, palavra) == 0)
			return tmp;
	
		tmp = tmp->proximo;
	}
  
	return NULL;
}

 

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!