leejh5915   6년 전

n에 다가 16진수로 초기화하고

16진수를 그대로 출력하려고하는데

실행오류가 나네요 ㅠㅠ

변수는 char *pc를 무조건 사용해야 합니다..ㅠㅠ

도와주세요 ㅠㅠ

djm03178   6년 전

이 코드는 컴파일 하면 분명히 워닝이 뜹니다. 워닝을 잘 읽어보면, char *형을 요구하는 자리에 char을 줬다고 할 텐데, itoa는 scanf처럼 문자열을 넘겨받은 주소에 저장하는 것이므로 주소값 pc를 그대로 주어야지, pc가 가리키는 곳의 값이라는 뜻의 *pc를 주면 안 됩니다.
그렇게 해도 여전히 문제가 있는데, pc는 초기화를 안 했으므로 아직 제대로 어딘가를 가리키고 있는 상황이 아닙니다. 동적 할당을 하던지, 아니면 pc를 배열로 선언해서 메모리를 확보해 줘야 됩니다.
그리고, 이를 다 수정한다 해도 itoa는 여전히 표준 함수가 아니기 때문에 환경에 따라서는 지원되지 않을 수도 있습니다.

leejh5915   6년 전

와..감사합니다 ㅠㅠ

이해가 잘됐네요..

수정해서 itoa함수로 값을 잘 받았습니다.

그러면 그냥 함수를 구현해서 저 값을 넣으려면 어떠한 방법으로 할 수 있을까요 ..?ㅠㅠ

djm03178   6년 전

itoa 말고 sprintf 함수를 사용하시면 됩니다.

leejh5915   6년 전

감사합니다 !

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