Boa tarde!
Aparentemente, isblank('\n') é false, então o comportamento de freq.c fica um pouco estranho: a última palavra de uma linha pode ser combinada com a primeira da próxima, e.g. ("última\nprimeira"). Assim, podemos usar isspace(c) invés de isblank?