C에서 포인터로 값 변경 후 프린트가 이상하게 나옵니다..
조회수 523회
#include <stdio.h>
#include <string.h>
int main(void) {
char pA[10] = "seoul";
char *pB = pA;
*pB = "busan";
printf("%s", pB);
printf("%s", pA);
}
이렇게 코드 입력 후 출력값이 8eoul8eoul이렇게 나오는데 왜그러나요..?
2 답변
-
#include <stdio.h> #include <string.h> int main(void) { char pA[10] = "seoul"; pA[5] = NULL; printf("\n"); char *pB = pA; //*pB = "busan"; printf("%s\n", pA); printf("%s\n", pB); }
NULL 을 넣고 돌려보세요 *pB 주석 풀고 컴파일 해보고 주석 하고 컴파일 해보면 메모리주소가 어떻게 변하는지 확인 하시면 됩니다.
-
댓글 입력