Вот, пожалуйста.Я полагаю, что строка содержит только буквы и пробелы.То есть слово представляет собой последовательность символов, ограниченную пробелами.
#include <stdio.h>
#include <string.h>
int main(void)
{
const char *s = "How to print out the last letters of the words in C";
const char * blanks = " \t";
for ( size_t i = 0; s[i] != '\0'; )
{
size_t j = strspn( s + i, blanks );
i += j;
j = strcspn( s + i, blanks );
i += j;
if ( j != 0 ) printf( "%c ", s[i-1] );
}
return 0;
}
Вывод программы:
w o t t e t s f e s n C
Если вам нужно вывести буквы в верхнем регистре, включите заголовок <ctype.h>
и измените оператор вывода как
if ( j != 0 ) printf( "%c ", toupper( ( unsigned char )s[i-1] ) );