Этот scanf будет читать только одно слово, если вы наберете printf
, вы его увидите.Так что нет ничего плохого в strlen
.
Используйте fgets
, который читает целую строку:
if (! fgets(sentence, sizeof(sentence), stdin)) {
fprintf(stderr, "error or end of file while no characters have been read\n");
return;
}