Написать функцию numberstring для подсчета количества строк в тексте - C (СИ)
Формулировка задачи:
Всем привет, задание на указатели и динамическую память такое: Написать функцию numberstring() для подсчета числа строк в тексте. Напечатать это число.
Помогите написать,пожалуйста, ибо я вообще не понимаю как это сделать. Заранее благодарю.
Решение задачи: «Написать функцию numberstring для подсчета количества строк в тексте»
textual
Листинг программы
unsigned numberstring(const char* s){ unsigned m = 0, n = 0; while(*s){ if(*s == '\n'){ ++n; if(m && !*(s + 1)) ++n; m = 0; } else m = 1; ++s; } return n + m; } //... printf("count lines: %u\n", numberstring("...") );
Объяснение кода листинга программы
- В функции numberstring(const char* s) происходит подсчет количества строк в тексте, представленном в виде строки s.
- В функции используются две переменные: m и n. Переменная m отслеживает, была ли ранее встречена символом '\n', а переменная n отслеживает количество строк.
- Используется цикл while(*s), который выполняется до тех пор, пока есть символы в строке s.
- Если текущий символ равен '\n', то увеличивается значение переменной n. Если после текущего символа нет больше символов, то к значению переменной n добавляется единица. Затем значение переменной m сбрасывается в ноль.
- Если текущий символ не равен '\n', то значение переменной m устанавливается в единицу.
- После каждой итерации цикла увеличивается значение переменной s на единицу.
- В конце функции возвращается сумма значений переменных n и m.
- В приведенном примере вызывается функция numberstring с аргументом
...
. Результат ее работы выводится на экран с помощью функции printf.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д