728x90
1. 핵심 컨셉: "%c 는 번호표다"
컴퓨터는 모든 글자를 번호표(ASCII 코드) 로 관리합니다. printf 에서 어떤 서식 지정자를 쓰느냐에 따라 숫자를 보는 눈이 달라집니다.
- %d : 숫자 값 그대로 출력 (2 → 2)
- %c : 숫자를 번호표 로 해석해서 해당 칸의 문자를 출력 (2 → ??)
2번 번호표 는 '글자 2'가 아니라, 화면에 보이지 않는 제어 신호 이기 때문에 아무것도 출력되지 않는 것입니다.
2. 해결 방법: "기준점 더하기"
우리가 원하는 글자 '2' 는 번호표 50번 에 있습니다. 하지만 이 번호를 외울 필요는 없습니다. 모든 숫자 글자는 '0' 부터 순서대로 서 있기 때문입니다.
- '0' 의 번호표 = 48번
- 숫자 2 + '0' (48번) = 50번 (글자 '2'의 위치!)
3. 한 줄 요약 코딩 공식
숫자를 문자로 바꾸고 싶다면 딱 하나만 기억하세요. "+ '0'" 만 붙이면 됩니다.
int n = 2;
printf("%d", n); // 결과: 2 (숫자로 출력)
printf("%c", n + '0'); // 결과: 2 (문자로 출력)
💡 정리하자면?
- %c 는 숫자를 문자의 주소(번호표) 로 읽는다.
- 진짜 숫자를 문자로 보여주려면 '0' 이라는 출발점 을 더해줘야 한다.
- 반대로 문자를 숫자로 바꿀 때는 - '0' 을 하면 된다.
728x90
'TIL > 2025' 카테고리의 다른 글
| MCP가 무엇인지? (1) | 2025.12.21 |
|---|---|
| [Error] Your branch and 'origin/feature-1' have diverged (0) | 2025.12.10 |
| Requirement yogi의 traceability (0) | 2025.12.10 |
| Hash와 Digital Signature (0) | 2025.12.09 |
| Confluence 문서 상태 관리 feat. Comala (0) | 2025.11.07 |