При исполнении кода
#include
int main() {
char *first = "first";
char *second = "second";
char *third = strcat(first, second);
}
происходит ошибка сегментирования.
Ответ
Проблема в том, что функция strcat не выделяет память, а копирует из одной строки в другую. Поскольку длина первой строки меньше, чем длина второй, то память перетирается. Нужно изменить код, например, так.
#include
int main() {
char first[7] = "first";
char second[7] = "second";
char *third = strcat(first, second);
}
Комментариев нет:
Отправить комментарий