Я пытаюсь скопировать одну строку в другую, используя указатели, но произошла ошибка разрушения стека при успешном копировании строки.
Вот код ниже,
#include <stdio.h>
void strcat(char *str1, char *str2) {
char *run = str1;
while(*run !='\0')
run++;
while(*str2 !='\0') {
*run = *str2;
run++;
str2++;
}
*run = '\0';
}
int main() {
char s[] = "hellomojo";
char t[] = "world";
printf("\ns :%s", s);
printf("\n t :%s",t);
strcat(s, t);
printf("\ns after:%s",s);
}
Этоиз-за нелегального доступа к памяти, на которую не указывают указатели?