백준/c언어

아스키 코드

as_형준 2023. 3. 27. 22:17

포인트!

c언어에서 문자랑 숫자를 비교하면 자동으로 문자는 아스키코드값으로 변환해서 숫자와 비교한다. 

#include <stdio.h>

int main() {
    
    char arr[10] ="abcde";
    if (arr[0] == 97)    // 숫자랑 문자랑 비교해도 자동으로 아스키 코드로 비교한다.
        printf("%c\n",arr[0]);
        printf("True");
}

이처럼 a와 97이 동일한가에 대해 질문을 던졌을 때 

출력으로  True가 출력되는 것을 알수 있따.

 

영어를 아스키 코드로 바꾸면 97부터 122가 a~z까지이다. 소문자버전 

 

또한 영어 문자를 숫자로 바꿀수 있다.

 

a는 0 , b는 1, c는 2 등 1씩 증가

 

int main() {
    
    char arr[10] ="abcde";
    if (arr[0] == 97) {   // 숫자랑 문자랑 비교해도 자동으로 아스키 코드로 비교한다.
        printf("%c\n",arr[1]);
        printf("True");
    }
    printf("%d",arr[1] - 'a'); // 문자를 숫자로 바꾸기 -'a'해주면 숫자 0으로 바뀌게 된다
}

사진처럼 문자열 'abcd' 중 두번쨰 인덱스값인 b를 가져와 - 'a'를 하면 1이 나온다.