Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.01.2011, 18:28   #1
KOPC1886
Пользователь
 
Регистрация: 28.10.2010
Сообщений: 26
Плохо Реализация функции strcat.

Я попробывал написать реализацию функции strcat.
Вроде работает (результыт выводит правильный). Но всё равно возникает ошибка. Где ошибка в коде?

char s[]="Hello";
char a[]="World!";
int k=0;
int l=0;
int i;
int w;
k=sizeof(s);
l=sizeof(a);
w=k+l;
i=k;
for (int d=0;d<l;d++)
{
s[i]=a[d];
if (s[i]==0)
break;
else
i++;

}

for (int i=0;i<w;i++)
{
cout<<s[i];
}
KOPC1886 вне форума Ответить с цитированием
Старый 24.01.2011, 19:11   #2
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Код:
k=sizeof(s);
l=sizeof(a);
Насколько мне известно, функция sizeof выдаёт размер переменной, а не длину строки.
Вот смотрите на эти строки:
"'
"1"
"11"
Длина первой строки 1, второй-2, третьей-3, и всё это потому что все строки в С и С++ заканчиваются нулём. Учитывайте это.
_-Re@l-_ вне форума Ответить с цитированием
Старый 25.01.2011, 17:48   #3
KOPC1886
Пользователь
 
Регистрация: 28.10.2010
Сообщений: 26
По умолчанию

Эммм.... а как тогда праввильно?
KOPC1886 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реализация шаблонной функции includes на C++ GanJIk Помощь студентам 0 26.12.2010 20:27
странная работа функции strcat() kin63camapa Общие вопросы C/C++ 4 05.04.2010 16:19
Ассемблер. Реализация функции... Vika_M Помощь студентам 4 04.12.2008 17:12