kjsd007   3년 전

질문 게시판에서 다른 분의 코드를 열심히 뒤지다가 해결책을 찾긴 했지만

왜 틀렸었고 왜 맞은건지... 모르겠어서 고수님들의 도움을 요청합니다...

틀렸을 때와 맞았을 때의 바뀐 코드는 58번째 줄 입니다.

node =(Node*) malloc(sizeof(Node));

⬆️

node=malloc(sizeof(Node));

왜 맞았고 왜 틀렸던 걸까요???

pch6828   3년 전

정말 malloc으로 인해 틀린 것이 맞나요?

우선 C로 제출했을 때 올려주신 코드에서 58번 줄을 변경하던, 하지않던 AC를 받습니다.

제출기록을 살펴보니 틀린 코드에서는
if(importance==-1) break;
가 없는데, 이것 때문 아닐까요?

코드를 다 이해하지는 않았지만, malloc으로 인한 오답은 아닐 것 같습니다.

kjsd007   3년 전

아! malloc 문제가 아니라, p_clear() 함수에서 while문 조건을 수정했던게 틀리고 맞고를 나눈 변경사항이었군요.
제가 바뀐 점도 제대로 확인 안 하고 (Node *) 붙이고 맞은 줄 알고 있었네요ㄷㄷ 죄송합니다.
@pch6828 님이 지적 해 주신 덕분에 찾았습니다.
감사합니다.

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