Direi proprio che devi cambiare il codice e usare i puntatori ...
codice:
#include <stdio.h>
#include <stdlib.h>
typedef struct EL
{
float Ascissa;
float Ordinata;
struct EL *next;
} Punto;
void stampa(Punto *lista)
{
Punto *current=lista;
while(current)
{
printf("(%f,%f) ",current->Ascissa,current->Ordinata);
current=current->next;
}
}
void TOP(Punto **lista, float A, float O)
{
Punto *newstart;
newstart=(Punto *)malloc(sizeof(Punto));
newstart->Ascissa=A;
newstart->Ordinata=O;
newstart->next=*lista;
*lista=newstart;
}
int main()
{
float A, O;
Punto *start=NULL;
while(1>0)
{
scanf("%f",&A);
scanf("%f",&O);
TOP(&start,A,O);
stampa(start);
}
return 0;
}