Вывести подстроку, расположенную между первым и вторым пробелом исходной - 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); // вывод второго слова
}

Объяснение кода листинга программы

В этом коде:

  1. Создается строка str с текстом 11111 22222 333333.
  2. Используя функцию strchr, ищется первый пробел в строке str и сохраняется в переменной p1.
  3. Используя функцию strchr, ищется второй пробел в строке str, начиная с символа, следующего за первым пробелом, и сохраняется в переменной p2.
  4. С помощью условного оператора if проверяется, что оба пробела существуют (то есть не равно NULL).
  5. В строке p2 заменяется второй пробел на конец строки (символ 0).
  6. Используя функцию printf, выводится второе слово (с символа, следующего за первым пробелом, до второго пробела) из строки str.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4 из 5
Похожие ответы