misule   8년 전

조건인 입력에서 100글자도 동적할당하고

주어진 방식으로 3글자씩 끊어서 2진수를 8진수로 바꾸고

출력도 문제 없이 잘 되는데 왜그럴까요 ??

ntopia   8년 전

a 배열이 딱 100칸으로 선언되어있는데

만약 입력되는 문자열이 100자리라면 마지막의 NULL이 들어갈 공간이 없습니다.

그리고 b배열의 길이는 2,3,4 중 하나인데

여기다가 a배열을 strcat으로 붙여버리면 당연히 공간이 모자랍니다.

이러저러한 이유로 잘못된 메모리 공간을 접근해서 의도치않은 결과가 나오는 것 같네요.

misule   8년 전

오오 감사합니다!

또 덕분에 해결했습니다!!!

댓글을 작성하려면 로그인해야 합니다.