Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Реверс(строки)

7.0K
15 апреля 2005 года
Salavat
20 / / 01.03.2005
ПОмогите написать функцию реверса!
Результат возвращает y98765432
а нужно 987654321
ВОт код программы:
#include <stdio.h>
#include <conio.h>
#include <string.h>

float reverse(char* s1)
{
char* st;
int i,j,l1=strlen(s1);

for(j=l1,i=0;j>0,i>l1;i++,j--)
st[j]=s1;
printf("\n %s",st);

for(i=0;i<l1;i++)
s1=st;
return 0;
}

int main()
{
char *s1="123456789";
clrscr();

reverse(s1);

printf("\n %s",s1);

getch();
return 0;
}
301
15 апреля 2005 года
lord Kelvin
897 / / 08.11.2004
Как бы сделал я...
(Хотя есть функция strrev - может бы тебе вообще писать не надо было.=) )
Код:
#include<stdio.h>
#include<conio.h>

void reverse(char* s1)
{
 int n=0;
 while(s1[++n]); // Узнаем длину строки.
 for(int i=0;i<n/2;i++)
 {
  s1^=s1[n-i-1]; // Меняем
  s1[n-i-1]^=s1; // местами
  s1^=s1[n-i-1]; // символы
 }
}

void main()
{
 char s1[]="123456789";
 clrscr();
 printf("%s\n",s1);
 reverse(s1);
 printf("%s\n",s1);
 getch();
}
7.0K
15 апреля 2005 года
Salavat
20 / / 01.03.2005
Thank you!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог