프로그래밍

 3198, 1/160 회원가입  로그인  
   smile_mut
   [C 언어] a-'0'??

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=2984 [복사]


int main(){
int a, i;
        int b[10];
        for(i = 0; i <10; i++)
                b[i] = 0;
        a = getchar();
        if(a>=0 || a<=9){
                b[a-'0']++;
        }
        for(i =0; i<10; i++)
                printf("b[%d]: %d\n",i,b[i]);
}
c언어 바이블 (화이트 바이블) 에서 나온 예제인대요.
b[a-'0']++; 에서 -'0'는 어떤역할은 하는지 잘 이해가 안돼요 ㅠㅠ

  Hit : 4548     Date : 2011/05/06 04:46



    
clockmaker 어떤 역할인지 알고 싶으시면
그 부분을 지우고 해 본 뒤 결과를 비교해 보실 수도 있지요 ㅇ_ㅇ
2011/05/06  
jsk0612 저도 이해가 안됬는데 방금 코딩하면서 "아 이래서 이게 쓰인거군" 발견했네요;;

저도 개인적으로 윗분말씀처럼 직접 찾아보시는거 추천해드리고요

정 모르겠다 하시면 알려드릴께요 ㅇㅅㅇ;;
2011/05/06  
Prox clock님 말씀대로
a = getchar();
printf("%d %d",a,(a-'0')); 하시면 뭐가문제인지 바로이해하실듯 하구요..

이건 질문이랑 관련없는 다른질문인데
if(a>=0 || a<=9){ <- 이비교문 틀린거아닌가요?ㅋㅋ
2011/05/08  
clockmaker 음 그러네요 비교문 틀렸죠
&&로 써야 맞을 듯 해요.
2011/05/08  
smile_mut 정신없이 올리느라고 비교문이 틀렸네요.
정말 모든 답변들 감사합니다 :)
2011/05/12