dreamian   6년 전

이전에도 비슷한 맥락의 질문을 올린 적이 있습니다.

실수형 연산에서 double형 계산을 할 때 소숫점은 int형 뒤에 .만 붙이면 된다는 답변을 보고 매우 도움이 많이 되었습니다. 감사합니다.

제가 이런 부분에 있어서 잘 모르는 것 같은데요..

char형을 int형으로 계산을 할 때,

Segmentation Fault를 받는 경우가 있어 질문드립니다.

char형 변수 a가 있고, 저는 이것을 알파벳을 저장하는 구조체 배열의 index로 활용하려고 하였습니다.

하지만 segmentation fault를 받게 되는데 그 이유가 궁금합니다.

해답을 찾기 위해 스스로 노력을 해보았지만, 다른 코드의 경우는 되는 경우가 있어서 어떤 차이가 있는지 고수님들의 답변을 듣고 싶습니다.

감사합니다!

adh0463   6년 전

http://www.asciitable.com/

10진수 48은 문자 '0'에 해당합니다. 위에서 쓰신 것처럼 숫자보단 문자를 직접 쓰셔서('A'를 빼는식) 하시는 것이 좋아요.

dreamian   6년 전

AC 받아서 전혀 생각하지 못 하고 있었는데...

숫자랑 헷갈렸네요 ㅠㅠ


저 코드로 원래 알파벳 'a'에 해당하는 int형 값을 빼주게 되면 Seg fault에러가 나는데 그 점을 간과하고 우연(?)하게 실수로 48을 빼서 AC를 받은 것 같습니다.

사소한 부분에도 답변 달아주셔서 정말 감사합니다.

소스는 스스로 분석해보겠습니다!

dreamian   6년 전

대문자가 아니라 소문자 'a'를 빼서 문제가 된 것 같습니다 ㅠ

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