Mała uwaga, nie wiem czy to wiesz ale while jest w pełni nie potrzebny gdyż jak wejdziesz do "for" to z niego nie wyjdziesz, nie ma żadnego break czy parametrów w "for".
Więc teoretycznie program będzie działał nieskończoność
Co chcesz osiągnąć?
Nie wiem czy osiągniesz to w taki sposób ale na twoim miejscu wywaliłbym for, dodać na końcu while -> i++; jak i funkcję sscanf.