Например, функция fgetc() считывает символ из файла. При успешном чтении, возвращается значение от 0 до 255 (считанный символ), если достигнут конец файла, функция вернёт -1 (EOF).
При каком условии в цикле или функции будет конец файла?
При условии, что была произведена попытка чтения из файла, но конец файла уже был достигнут.