Дана строка символов. Получить все символы, расположенные между первой и последней точками - C (СИ)
Формулировка задачи:
Решение задачи: «Дана строка символов. Получить все символы, расположенные между первой и последней точками»
#include <stdio.h> #include <string.h> int main() { char s[] = "home.dream.summer.circus"; int b = 0, e = strlen(s) - 1; for (; b <= e && s[b] != '.'; ++b); for (; e >= 0 && s[e] != '.'; --e); if (b >= e) { puts("ERR: something terribly wrong"); return 1; } s[e] = '\0'; puts(&s[b+1]); return 0; }
Объяснение кода листинга программы
В этом коде постановка задачи следующая: получить все символы, расположенные между первой и последней точками. В первой строке объявляется переменная s типа char с пустой строкой в качестве значения. Далее, в следующих двух строках, определяются начальное и конечное значение переменных b и e. Первая итерация цикла начинается с позиции b и продолжается до тех пор, пока не встретится точка или не будет достигнуто значение e. Вторая итерация цикла начинается с позиции e и продолжается до тех пор, пока не встретится точка или не будет достигнуто значение b. Если значение b больше или равно значению e, то выводится сообщение об ошибке и возвращается 1. Затем, в строке с s[e] = '\0';, символ ноль заменяется на символ конец строки, тем самым обрезая строку до символа перед последней точкой. И в заключительной строке выводится результат.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д