Пропуск последовательности непробельных символов - C (СИ)
Формулировка задачи:
char* nextWord (char *str);
printf("%s\n", nextWord("Hello World"));Решение задачи: «Пропуск последовательности непробельных символов»
#include <ctype.h>
char * next_word(char * s) {
while ( *s && ! isspace(*s) )
++s;
while ( *s && isspace(*s) )
++s;
return s;
}
Объяснение кода листинга программы
В данном коде на языке C реализована функция next_word, которая принимает в качестве аргумента указатель на строку s.
Сначала, в первом цикле while, происходит проверка условия: если текущий символ в строке s не равен нулю (т.е. строка не закончилась) и этот символ не является пробелом (! isspace(*s)), то этот символ пропускается, и указатель s увеличивается на 1.
Затем, во втором цикле while, происходит проверка условия: если текущий символ в строке s не равен нулю (т.е. строка не закончилась) и этот символ является пробелом (isspace(*s)), то этот символ также пропускается, и указатель s увеличивается на 1.
В конце функция возвращает указатель s (передает в следующую функцию или оператор).
Таким образом, функция next_word позволяет пропускать последовательности непробельных символов в строке.