Al volo vedo "i<=(n)", che è sbagliato, i deve essere strettamente minore di n, dato che se crei un array come primi[n] l'indice può variare da 0 a n-1 (ovvero, n elementi).

Peraltro, n=0, per cui quegli array saranno di dimensione nulla.

Infine, se le dimensioni di un array non sono note al momento della compilazione in genere è meglio usare l'allocazione dinamica piuttosto che dichiarare dei VLA (variable length array) come hai fatto tu.