char *를 넘겨주는데 이상한 글씨가 되어서 나와요;;;

murien의 이미지

typedef struct people{
	char *owner;
	struct people *LLink;
	struct people *RLink;
} peopleNode;

binary search tree 를 구현하려고 해서
우선 저렇게 타입 선언을 했습니다.

그리고....

peopleNode *sorting (peopleNode *UpTree, peopleNode NewInput){
	if(UpTree==NULL){
		UpTree=(peopleNode *)malloc(sizeof(peopleNode));
		UpTree->owner=(char *)malloc(strlen(NewInput.owner)+1);


(뒷부분은 생략)
저런식으로 구성해주었습니다.

strcmp(UpTree->owner,NewInput.owner);

마지막으로 값도 넣어 주었구요...

그런데 UpTree->owner를 출력해보니...
원래의 data는 영어였는데
(원래 데이터 출력해서 확인해봤는데 잘 나오더군요;;)
한자가 출력되어서 나오네요..;;;

흠... 혹시 무엇이 잘못된건지 짐작 되시는 분...

neogeo의 이미지

strcmp 는 string 을 비교 하는 함수 입니다.

strcpy 가 복사 함수이지요.

자세한건 C ref 나 메뉴얼을 참고 하세요.

Neogeo - Future is Now.

murien의 이미지

헉;;; 이런 ㅠ_ㅠ 바부같았네용;;ㅎㅎ 감솨^^