pink   4년 전

예제를 넣으면 소문자 s 부터 이상한 한국말이 나와요..

어떤 문제일까요 ..

dotorya   4년 전

a[i] > 90, a[i] > 122
가 잘못되었네요.

dotorya   4년 전

추가로 저런 혼동을 피하려면 a[i] >= 'A' && a[i] <= 'Z', a[i] >= 'a' && a[i] <= 'z' 등으로 쓰시는 것을 권장드립니다.

pink   4년 전

답변 감사합니다 !

하나만 더 질문드려도 된다면,

저렇게 쓰면  잘못된 문자가 나오는 이유를 알 수 있을까요?..


dotorya   4년 전

's' = 115니까, 위 소스대로라면 a[i]에는 115+13이 대입될 겁니다.

a[i]가 char형 변수이므로, overflow가 발생해서 a[i] = -128이 되겠네요.

char형의 음수 부분에는 한글이나 한자 같은 유니코드 문자들이 할당되어 있습니다.

그래서 출력에서 이상한 한글이 나오는 것 같습니다.

pink   4년 전

아... 그렇네요 ..

도움 주셔서 감사합니다!

여담으로

어디서  뵜던 닉네임이 같아서 확인했더니

랭킹 2위셔서 깜짝 놀랐습니다 .. 그리고 영광이에요 !!

저도 꼭 알고리즘 열심히 공부해서 그렇게 될 수 있도록 노력하겠습니다!

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