Запись строки в обратном порядке в новую строку - 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';
Объяснение кода листинга программы
s
- исходная строкаpS
- указатель на первый символ исходной строкиpS1
- указатель на переменную, в которую будет записываться обратная строка*
- символ, используемый для разыменования указателейpS > s
- условие, которое означает, что указательpS
должен быть больше, чем указательs
pS1++
- оператор, который увеличивает указательpS1
на единицу*(--pS)
- операция разыменования указателяpS
и получения значения, с последующим уменьшением указателяpS
на единицу*
- символ, используемый для разыменования указателейpS1 = s1
- присваивание указателюpS1
значения переменнойs1
s1
- переменная, в которую будет записываться обратная строка\0
- символ, который используется для обозначения конца строки*
- символ, используемый для разыменования указателейpS1
- указатель на переменнуюs1
pS1[0]
- первый символ переменнойs1
pS1[1]
- второй символ переменнойs1
pS1[2]
- третий символ переменнойs1
pS1[3]
- четвертый символ переменнойs1
pS1[4]
- пятый символ переменнойs1
pS1[5]
- шестой символ переменнойs1
pS1[6]
- седьмой символ переменнойs1
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д