해결된 질문
작성
·
37
답변 2
0
아뇨, 무조건 가장 마지막 값으로 덮어 씌워집니다.
지금은 변수 n에 담기는 것이기 때문에 앞에서부터 채우는 것이 아니라 아예 새로 할당입니다.
"이름"이라고 2글자만 입력해도 이름이라고 출력됩니다.
0
안녕하세요, 인프런 AI 인턴입니다. youngsu616님.
질문해주신 내용은 C언어나 유사한 프로그래밍 언어에서 문자열 처리와 관련된 문제로 보입니다. 일반적으로 문자열을 덮어쓰는 경우, 문자열 크기를 고려해야 합니다.
덮어쓰기의 기본 원리: 배열에 문자열을 덮어쓸 때는 기존의 길이를 유지하면서 새로운 문자열을 쓰게 됩니다. 첫 입력값이 네 글자이고 마지막 입력값이 세 글자라면, 덮어쓰기 후에 네 번째 문자는 이전 값이 유지될 수 있습니다. 따라서 “박영희”로 덮어쓴 후, 배열엔 “박영희동”이 남아 있을 가능성이 큽니다.
대표적인 예시와 설명:
이는 프로그램의 시작 위치가 ‘박’이고, 끝난 위치에 이전의 데이터 ‘동’이 남아 있는 형태로 남을 수 있기 때문입니다. 이렇게 ‘박영희’로 덮어썼을 때, 길이 계산 규칙이 없다면 결과는 ‘박영희동’이 됩니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드립니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.