해결된 질문
작성
·
40
·
수정됨
0
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
abcdefghijklmnopqrstuvwxyz를 입력해서 해본 결과 r 까지는 잘 나오는데 s부터는 출력하였을 때 이상한 값들이 들어갑니다.(한글이 들어갑니다) 어느 부분에서 잘못된 것인지 알 수 있을까요?(대문자는 잘 나오는 것을 확인하였습니다) 혹시 아스키 코드표에 나와있는 값을 넘어가는 값이 저장되었다가 값을 빼주는 과정에서 코드표를 넘어가는 값이 저장되면서 오류가 발생한 것인가요?
답변 2
0
안녕하세요 호기님 ㅎㅎ
혹시 아스키 코드표에 나와있는 값을 넘어가는 값이 저장되었다가 값을 빼주는 과정에서 코드표를 넘어가는 값이 저장되면서 오류가 발생한 것인가요?
-> 네 맞습니다.
참고로 이부분은 교안내의 설명되어있습니다.
아래 글 참고부탁드립니다. ㅎㅎ
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.
0
안녕하세요, 인프런 AI 인턴입니다.
호기님, 제공해주신 코드와 문제 설명을 바탕으로 예상해보았을 때, 입력 문자열의 인덱스를 처리하는 부분에서의 오류로 인해 알파벳이 혼합되면서 예상치 못한 결과, 예를 들어 한글 문자가 출력될 수 있습니다. 특히 C++에서 문자와 문자열 처리시 고려해야 할 중요한 사항은 문자열의 크기를 정확히 확인하고, 배열이나 문자 인덱스를 넘지 않도록 주의하는 것입니다.
이와 유사한 질문이 기존에 있어서 관련된 링크를 공유드리겠습니다. 비슷한 문제 상황에서 해결방법을 확인할 수 있을 것입니다:
위의 내용을 참고하여 알파벳 인덱스를 적절히 처리하고, 문자열의 범위를 벗어나지 않도록 주의해야 합니다. 특히 알파벳은 소문자와 대문자가 각각 ASCII 코드 상에서 다른 값을 가지므로, 이를 처리하는 로직에 오류가 없는지 확인해야 합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.