Un vettore C di dimensione N può essere indicizzato tramite gli indici che vanno da 0 a N-1.
Ora questo:
for (i=1; i<=num_edges; i++)
è utilizzo sbagliato dei vettori in C. Primo perché lasci l'elemento zero inutilizzato (spreco di memoria), secondo perché può portare ad errori. In questo caso avevi previsto un elemento in più (hai allocato num_edges+1 nella prima malloc), ma in generale è una pratica altamente scoraggiata.
|