Запись строки в обратном порядке в новую строку - C (СИ)

Узнай цену своей работы

Формулировка задачи:

По заданию нужно ввести строку и переписать ее в обратном порядке в новую строку. Где-то ошибка в цикле:
char s[100],s1[100]; 
int i,j,n=0;
puts("Enter a string:" );
gets(s);
 
for(i=0;s[i]!='\0';i++)
    n++;
printf("The line printed backward is: " );
    for(j=0;j<=n;j++)
    {
        for(i=n-1;i>=0;i--)
        {
            s1[j]=s[i];
        }
    printf("%c",s1[j]);
    }

Решение задачи: «Запись строки в обратном порядке в новую строку»

textual
Листинг программы
char * pS = s, * pS1 = s1;
while ( *pS )
    ++pS;
while ( pS > s )
    *pS1++ = *(--pS);
*pS1 = '\0';

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

  1. s - исходная строка
  2. pS - указатель на первый символ исходной строки
  3. pS1 - указатель на переменную, в которую будет записываться обратная строка
  4. * - символ, используемый для разыменования указателей
  5. pS > s - условие, которое означает, что указатель pS должен быть больше, чем указатель s
  6. pS1++ - оператор, который увеличивает указатель pS1 на единицу
  7. *(--pS) - операция разыменования указателя pS и получения значения, с последующим уменьшением указателя pS на единицу
  8. * - символ, используемый для разыменования указателей
  9. pS1 = s1 - присваивание указателю pS1 значения переменной s1
  10. s1 - переменная, в которую будет записываться обратная строка
  11. \0 - символ, который используется для обозначения конца строки
  12. * - символ, используемый для разыменования указателей
  13. pS1 - указатель на переменную s1
  14. pS1[0] - первый символ переменной s1
  15. pS1[1] - второй символ переменной s1
  16. pS1[2] - третий символ переменной s1
  17. pS1[3] - четвертый символ переменной s1
  18. pS1[4] - пятый символ переменной s1
  19. pS1[5] - шестой символ переменной s1
  20. pS1[6] - седьмой символ переменной s1

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


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

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

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