![]() |
problemas con funciones tengo problemas con las funciones, al aser el programa sin funciones no tengo niun problema pero al momento de aser una funcion el compilador me tira errores y warning en la funcion insertar es donde tengo el problema y nose muy bn como trabaja la funcion si alguien me pudiera explicar o arreglar esa funcion, tambien intente aser una funcion para mostrar la lista pero tampoko me funciono. gracias #include<stdio.h> #include<stdlib.h> #include<conio.h> typedef struct nodo { int valor; struct nodo *siguente; }tiponodo; struct nodo *crea_nodo(int); void insertar(struct nodo *q,int x); void main() { struct nodo *q,*L=NULL; int z,x; while(1) { printf("ingrese valor para lista\n"); scanf("%d",&z); if(z==0)break; if(L==NULL) L=crea_nodo(z); else{ q=L; L=crea_nodo(z); L->siguente=q; } } q=L; while(q != NULL) { printf("%d->",q->valor); q=q->siguente; } getch(); printf("ingrse numero"); scanf("%d",&x); void insertar(L, x); } struct nodo *crea_nodo(int z){ struct nodo *p; p=malloc(sizeof(struct nodo)); p->valor=z; p->siguente=NULL; return p;} void insertar(struct nodo *q,int x){ struct node *p=crea_nodo(x); p->siguente=q; q=p;} |
Re: problemas con funciones Hola!! En primer lugar la función para mostrar la lista la podrías hacer recursiva y muy sencillita: void imprimir(struct nodo * l){ if (l==NULL) printf("\n LISTA VACIA \n"); else{ printf("%d",l->valor); imprimir(l->siguiente); /*Esto es lo más importante de esta función,se llama recursivamente al siguiente elemento de la lista* } } P.D: Si cambias el orden del printf (ANTES O DESPUES de la llamada recursiva) se imprimirá en orden inverso o en orden correcto. PRUEBALO!! |
Re: problemas con funciones Una cosa que veo que haces mal: cuando pones p=malloc(sizeof(struct nodo)); la llamada malloc sirve para reservar memoria y se le dice el tamaño eso está bien, pero malloc te devuelve un puntero sin tipo (void) por lo que tienes que convertirlo con un cast. p=(struct nodo *)malloc(sizeof(struct nodo)); |
| La zona horaria es GMT -6. Ahora son las 19:53. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.