문자열 변환 출력

2024. 6. 29. 21:41정보처리,전산/Clang

반응형
#include <stdio.h>
#include <string.h>

int IsUpper(char c) {
    if (c >= 'A' && c <= 'Z') return 1;
    else return 0;
}

int IsLower(char c) {
    if (c >= 'a' && c <= 'z') return 1;
    else return 0;
}

int IsNum(char c) {
    if (c >= '0' && c <= '9') return 1;
    else return 0;
}

void caesar(char *p) { // 포인터 변수로 받음
    while (*p != 0) { // null 값이면 끝냄
        if (IsUpper(*p)) printf("%c", (*p - 'A' + 5) % 26 + 'A');
        else if (IsLower(*p)) printf("%c", (*p - 'a' + 10) % 26 + 'a');
        else if (IsNum(*p)) printf("%c", (*p - '0' + 3) % 10 + '0');
        else printf("%c", *p);
        p++;
    }
}

int main() {
    char *pw = "it is 8";
    // 포인터 변수를 선언하고 문자열을 대입한다.
    caesar(pw); // *p로 pw 값 전달.
    return 0;
}

 

 

  • 'i'는 소문자이므로 10글자 뒤의 문자 's'로 변환
  • 't'는 소문자이므로 10글자 뒤의 문자 'd'로 변환
  • 공백 문자는 그대로 출력
  • '8'은 숫자이므로 3 더한 숫자 '1'로 변환

반응형

'정보처리,전산 > Clang' 카테고리의 다른 글

지역변수 정적변수  (0) 2024.07.04
struct 구조체  (0) 2024.06.30
주소 배열 출력  (0) 2024.06.26
전역변수 값 전달  (0) 2024.06.22
비트연산  (0) 2024.06.22