immagino il codice del programma non sia completo cmq sia la fscanf come dicevano sopra legge da un file e memorizza in una variabile
immagino che prima di :
codice:
fscanf(fp, "%d", &punti[i * 2]);
ci sia come minimo una cosa del tipo
codice:
FILE * fp;
fp = fopen ("punti.txt","w+");
che apre un file tramite descrittore di file in modo da poterlo identificare e usare all'interno del programma
ora guardando il ciclo for che hai scritto
codice:
for(i=0; i<num; i++)
{
fscanf(fp, "%d", &punti[i * 2]);
fscanf(fp, "%d", &punti[i * 2 + 1]);
}
la prima fscanf legge dal descrittore fp un intero e lo memorizza in &punti[i*2]
punti immagino sia un array quindi memorizza il primo intero che trova nel file alla posizione [i*2] dell'array
la seconda fscanf fa la stessa cosa ma memorizza l'intero alla posizione [i*2+1]