Вывести подстроку, расположенную между первым и вторым пробелом исходной - C (СИ)
Формулировка задачи:
здравствуйте, нужна ваша помощь.
Вывести подстроку, расположенную между первым и вторым пробелом исходной строки. Если строка содержит только один пробел, то вывести пустую строку.
Если не сложно, то с комментариями.. Спасибо
Решение задачи: «Вывести подстроку, расположенную между первым и вторым пробелом исходной»
textual
Листинг программы
char str[]="11111 22222 333333"; char *p1=strchr(str,' '); // первый пробел char *p2=strchr(p1+1,' '); // второй пробел if(p2!=NULL && p1!=NULL) // есть ли эти пробелы { p2[i]=0; // вместо 2 пробела ставим конец строки printf("%s",(p1+1); // вывод второго слова }
Объяснение кода листинга программы
В этом коде:
- Создается строка
str
с текстом11111 22222 333333
. - Используя функцию
strchr
, ищется первый пробел в строкеstr
и сохраняется в переменнойp1
. - Используя функцию
strchr
, ищется второй пробел в строкеstr
, начиная с символа, следующего за первым пробелом, и сохраняется в переменнойp2
. - С помощью условного оператора
if
проверяется, что оба пробела существуют (то есть не равно NULL). - В строке
p2
заменяется второй пробел на конец строки (символ0
). - Используя функцию
printf
, выводится второе слово (с символа, следующего за первым пробелом, до второго пробела) из строкиstr
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д