Ir ao conteúdo

Calculo do Numero de Folhas de uma Arvore Binaria


Andryas

Posts recomendados

Postado

Programa para calcular o n. de folhas da Arvore:


int qtd_folhas(no *raiz)
{
if(!raiz) return(0);
else if((raiz -> esq) == (raiz -> dir) == NULL) return (1);
return(qtd_folhas(raiz->esq) + qtd_folhas(raiz->dir));
}

Por que quando faço


else if((raiz -> esq) == (raiz -> dir) == NULL) return (1);

o Devc++ acusa: "Warning: NULL used in arithmetic" se estou usando operadores relacionais?

Corrigi o programa da seguinte forma:


else if(raiz -> esq == NULL && raiz -> dir == NULL) return (1);

Postado
É só um warning... não significa que não esteja funcionando.

É só um jeito do compilador dizer "ei, cuidado quando faz isso aí que pode dar mer$#$".

Sim,mas gostaria de entender o que exatamente esse warning ta querendo dizer.

Ele diz o NULL ta sendo usado em operação aritmetica, é isso??

Postado

Sim, provavelmente a primeira expressão pode resultar em NULL sendo passado pra NULL pra comparação, então aparece aquele aviso.

No seu código não dá problema, mas em outros casos poderia dar.

Arquivado

Este tópico foi arquivado e está fechado para 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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!