Oi pessoal...alguém sabe me dizer o que há de errado com o código abaixo...
O meu programa tem que ler uma string do teclado com no maximo 9 caracteres...cada caractere lido precisa ser armazenado separadamente em uma celula contendo um indice que começa em 1...quero inserir celulas sempre ao final de uma lista duplamente ligada...
Pergunta
aninha1988
Oi pessoal...alguém sabe me dizer o que há de errado com o código abaixo...
O meu programa tem que ler uma string do teclado com no maximo 9 caracteres...cada caractere lido precisa ser armazenado separadamente em uma celula contendo um indice que começa em 1...quero inserir celulas sempre ao final de uma lista duplamente ligada...
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> int j; int l; struct node{ struct node*prev; int index; char item; struct node*prox; }*head, *tail; typedef struct node node; gene*criar(int n, char str[]){ node*nova; nova=(node*)malloc(sizeof(node)); nova->index=j; nova->item=str[l]; nova->prox=tail; nova->prev=head; return nova; } node*inserir(int n, char str[]){ node*nova; while((nova->prox==NULL)==0){ nova=nova->prox; nova->prox=(criar(n, str)); (nova->prox)->prev=nova; } return nova; } int main(){ head=tail=NULL; node*no; char cadeia[9]; gets(cadeia); for(j=1; j<=9; j++){ for(l=0; l<9; l++){ no=(inserir(9,cadeia)); printf("%d\n", node->index); printf("%c\n", node->item); } } getch(); }O problema é que quando o programa imprime cada saida....aparece sempre um 0 e um simbolo estranho...e não o indice seguido do respectivo caratere...
Editado por kuroiAdicionar tag CODE
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
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.