#include <stdlib.h>
#include <stdio.h>
typedef struct No {
int dado;
struct No *prox;
} No;
typedef struct No * p_no;
p_no criar_lista(){
return NULL;
}
void destruir_lista(p_no lista){
if (lista != NULL){
destruir_lista(lista -> prox);
free (lista);
}
}
p_no adicionar_elemento(p_no lista, int x){
p_no novo;
novo = malloc(sizeof(No));
novo -> dado = x;
novo -> prox = lista;
return novo;
}
void imprime(p_no lista){
p_no atual;
for(atual = lista; atual != NULL; atual = atual -> dado)
printf("%d \n", atual -> dado);
}
int main() {
int num;
p_no lista;
lista = criar_lista();
do {
scanf("%d", &num);
if (num > 0)
lista = adicionar_elemento(lista,num);
} while (num > 0);
imprime(lista);
return 0;
}
Apareceu a mensagem:
main.c: In function 'imprime':
main.c:32:45: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
for(atual = lista; atual != NULL; atual = atual -> dado)
^
Testando o código do primeiro exemplo da aula 10
Apareceu a mensagem:
O que fazer para corrigir esse problema?