Ir para conteúdo
Fórum Script Brasil
  • 0

==null


Guest felipe pinheiro

Pergunta

Guest felipe pinheiro

o trecho do programa é esse:

do{

printf( "%s", corrente->passageiro);

corrente = corrente->seg;

} while ((corrente->seg)== NULL);

corrente percorre minha lista e o trecho imprimirá todos os elementos referentes ao passageiro até o fim da lista.

porém, com essa condição do while tá dando aquele erro do windows quando vai executar essa parte. igual aqueles que dão quando alguma parada tá estourando, loop infinito, etc..

alguém pode me ajudar?

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
Guest felipe pinheiro

aliás, estou usando o DEV-C++.

eu só quero saber se usar esse tipo de condição dá bziu mesmo.

se for, vou continuar procurando soluções pra meu problema.

Link para o comentário
Compartilhar em outros sites

  • 0
do{

printf( "%s", corrente->passageiro);

corrente = corrente->seg;

} while ((corrente->seg)== NULL);

Boa tarde, Felipe

Pode-se observar que o loop trabalha com uma lista e seu objetivo é mostrar uma identificação (nome?) de cada passageiro.

Se esta for a intenção, pode haver alguns erros na implementação. O primeiro pode ser adimitir que o primeiro elemento da lista possa ser nulo. Pode-se testar a condição antes da primeira execução do código:

while ((corrente->seg)== NULL) {
   printf( "%s", corrente->passageiro);
   corrente = corrente->seg;
}
O segundo erro pode ser a própria condição do laço,
while ((corrente->seg)== NULL);
a condição deve ser verdadeira quando o ponteiro da lista estiver apontando para um elemento setado e não um nulo. O loop infinito ou erro de segmentação que pode estar ocorrendo é caso o primeiro elemento ser nulo e se tentar exibir seus dados (erro de segmentação), e "corrente" de tal modo é sempre nulo, o que causa a repetição infinita. Acertando a condição o código fica:
while ((corrente->seg)!= NULL) {
   printf( "%s", corrente->passageiro);
   corrente = corrente->seg;
}

Editado por == Douplus ==
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...