Ciao ragazzi, sto scrivendo un codice, ma nel momento in cui digito, semplicemente digito, la freccetta del puntatore il programma s'impalla. Quello evidenziato in rosso è il carattere che digitandolo causa il problema. Soluzioni?
#include <stdio.h>
#include <stdlib.h>
struct elemento
{
int dato;
struct elemento* next;
};
typedef struct elemento Elemento;
typedef Elemento* Stack;
void push(Stack* stack, int dato);
Elemento* pop(Stack* stack);
void visualizza(Stack stack);
int main(int argc,char *argv[])
{
Stack pila = NULL;
int x,i;
for(i=0; i < 5; i++)
{
printf("Valore: ");
scanf("%d",&x);
push(&pila,x);
}
system("PAUSE");
return 0;
}
void push(Stack* stack, int dato)
{
Elemento* elemento = (Elemento*) malloc(sizeof(Elemento));
elemento->dato = dato;
elemento->next = *stack;
*stack = elemento;
}
Elemento* pop(Stack* stack)
{
Elemento* e = (*stack);
if(e != NULL)
(*stack) = e->next;
return e;
}
void visualizza(Stack stack)
{
printf("--- Contenuto ---");
while(stack != NULL)
{
printf("%d\n",stack->);
}
printf("--- Fine --------");
}