
paulo1205
(usa Ubuntu)
Enviado em 14/01/2021 - 22:51h
A sugestão de usar
strtok() é boa, mas eu, pessoalmente, não a usaria, pois pode ser que o objetivo do exercício seja justamente fazer manualmente aquilo que ela faz por dentro.
Eu faria de um dos seguintes modos:
1) Ler a linha inteira (
fgets() ou
getline()).
2) Colocar um ponteiro para o último caráter da linha.
3) Ir retrocedendo o ponteiro até encontrar o primeiro caráter que caracteriza um separador de palavras (ou até chegar novamente ao início da linha).
4) Avançar novamente o ponteiro uma posição. Esse será o início da última palavra.
1) Ler a linha inteira.
2) Ter um ponteiro para o início da linha e um segundo ponteiro também para o início da linha.
3) Andar para frente com o primeiro ponteiro. Se ele apontar para um separador de palavras, examina o caráter seguinte e, se este último não for também um separador, aponta o segundo ponteiro para esse mesmo caráter.
4) Repetir o passo 3 até chegar ao final da linha.
5) O segundo ponteiro vai apontar para o início da última palavra da linha.
... Então Jesus afirmou de novo: “(...) eu vim para que tenham vida, e a tenham plenamente.” (João 10:7-10)