cari amici,sto scrivendo un programma in csemplice semplice che con sprintf sscanf mi legge una stringa contenente un numero double,la converte nell'effettivo valore tramite sscanf
la salva su una struttura legata ad un array di puntatori alla struttura,li invia ad una funzione che con un ciclo di sprinf sscanf spezza il doublein due interi,la parte decimale e quella non salvandoli nella struttura di prima.
funziona tutto,il problema è che appena esce dal ciclo di separazione si impalla,mi apre la
"Si è verificato un errore in SenzaTitolo1.exe. L'applicazione verrà chiusa."
e mi chiude tutto.
qualcuno sa perchè? ecco il codice

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct dint{
double num;
int v[2];
};
void conta (struct dint **,int);
main(){
struct dint *vettori[10];
int n,i,punto,d;
char buf[40];

printf("\n numero di d: ");
scanf("%d",&d);


for(i=0;i<d;i++){
vettori[i]=(struct dint *)malloc(sizeof (struct dint));
fflush(stdin);
printf("\n numero: ");
gets(buf);
sscanf(buf,"%lf",&(vettori[i]->num));

}
conta(vettori,n);


}


void conta(struct dint **vettori,int n){
int i;
char buf[10];
double appo;

for(i=0;i<n-1;i++){

sprintf(buf,"%f",(vettori[i]->num));
sscanf(buf,"%d.%d",&(vettori[i]->v[0]),&(vettori[i]->v[1]));
printf("\n sinistra:%d destra:%d",(vettori[i]->v[0]),(vettori[i]->v[1]));
}//qua va in paranoia


}

aiuuto