기존에 12글자(NULL포함)가 초기화된 문자열에 그보다 작은 문자열을 scanf함수로 입력했을 경우
남은 여백의 공간에는 이전에 초기화되어있던 데이터들이 그대로 남아있을지 아니면 NULL로 채워졌을지 확인하고자 아래 코드를 작성해보았습니다.
좀 더 정확하게 확인하기 위해 %c 서식 문자를 이용해 0~12까지 각 배열에 저장된 문자 상수를 하나씩 출력해보았는데
전혀 엉뚱한 깨진 글자가 나왔습니다. 이게 왜 그런건지 궁금합니다.
의도된 동작을 위해서는 a+i가 아니라 a[i]로 써야 합니다.
너무나도 기초적인 문제였네요. ;;
답변 감사합니다.
댓글을 작성하려면 로그인해야 합니다.
moveityourself01 2년 전
기존에 12글자(NULL포함)가 초기화된 문자열에 그보다 작은 문자열을 scanf함수로 입력했을 경우
남은 여백의 공간에는 이전에 초기화되어있던 데이터들이 그대로 남아있을지 아니면 NULL로 채워졌을지 확인하고자 아래 코드를 작성해보았습니다.
좀 더 정확하게 확인하기 위해 %c 서식 문자를 이용해 0~12까지 각 배열에 저장된 문자 상수를 하나씩 출력해보았는데
전혀 엉뚱한 깨진 글자가 나왔습니다. 이게 왜 그런건지 궁금합니다.