%s는 문자열 포인터를 입력해야 정상적으로 동작합니다.
문자열은 문자의 배열인데, 문자열의 끝을 '\0' 으로 저장해서 문자열의 끝을 알려주는 역할을 합니다.
질문자님께서 사용하신 것처럼 char의 포인터를 %s 포멧에 입력하게 되면, 컴퓨터는 A의 주소부터 '\0'을 찾을 때 까지 계속해서 출력을 하게 됩니다. 한마디로 의도하지 않게 동작된다는 뜻입니다.
의도하신 대로 동작하기 위해서는 문자를 출력하기 위한 포멧형식인 %c를 사용해서 printf("%c %c \n", *(char*)A, *(char*)B); 라고 바꾸시면 될 것 같습니다.
hanmirc 3년 전
qsort함수를 사용해서 문제를 풀려고했는데, 동적할당된 부분을 잘 못읽는거 같습니다.
qsort에 들어가는 1,3번째 인자가 잘못되었는지 출력해보니 단어들이 엉켜있더군요ㅠㅠ
1,3번째를 어떻게 넣어야할까요?