인프런 커뮤니티 질문&답변

이2님의 프로필 이미지
이2

작성한 질문수

홍정모의 따라하며 배우는 C언어

11.6 다양한 문자열 함수들

5:15초에 strcat 구현질문

작성

·

234

0

strcat 함수를 교수님이 보여주신 사이트에 있는 그대로 함수를 가져와서 디버깅 찍어보았습니다.

char* my_strcat(char* d, const char* s)

{

char* ptr = d + strlen(d);

while (*s != '\0')

*ptr++ = *s++;

*ptr = '\0';

return d;

}

변수이름은 걍 짧게 해놨는데, 디버그 돌려서 차례차례 진행하다보면

char* ptr=d+strlen(d);< 이거 다음문 갈때 디버그가 강제 종료되면서

스레드가 종료되었습니다 2개와

프로그램이 종료되었습니다가 뜨면서 디버그가 강제로 종료됩니다. 원인이 뭘까요?

답변 2

0

*(d + strlen(d)) 해야 합니다 그 방법 쓰려면 아마 d[strlen(d)] 하거나 strlen(d)을 따로 정해줘서 써야할걸요

0

안녕하세요!

my_strcat 함수에 어떤 파라미터를 넘기셔서 호출하셨는지를 알아야 제가 원인을 알 수 있을 것 같습니다.

my_strcat 함수 실행시킨 main 함수 코드도 부탁드립니다. 전체 코드요!

이2님의 프로필 이미지
이2

작성한 질문수

질문하기