A%B ritorna il resto della divisione intera di A per B
quindi (2+1)%4 fa 3
Nel ciclo per forza si impalla, non essendoci una condizione di uscita; non ha neanche molto senso un ciclo in quella funzione poichè messa così non ha modo di sapere a che turno si è. Dovresti passare come parametro quantomeno la i del ciclo nel main e fare nella funzione una semplice stampa dal vettore.
A quel punto devi scegliere se fare il modulo nella funzione, lasciando il contatore libero di avanzare, oppure direttamente nel ciclo.
Anche il while esterno così non ha molto senso, siccome quando vai a controllare la condizione conosci già il risultato.