11강 3:20

문자열 쓸때 %를 2번 써야 출력시 %가 나온다고 하셨는데 /같은 경우는 한번만 써도 되는건가요?
혹시 %처럼 꼭 두번 써야 되는 문자가 더 있는지 궁금합니다
Answer 2
0
/는 printf에서 그냥 평범한 문자라서 한 번만 써도 그대로 출력됩니다.
%만 특별 취급을 받는 이유가 있습니다.
printf는 문자열 안에서 %를 보는 순간 "아, 다음에 서식 지정자가 오겠구나" 하고 해석을 시작합니다. %d, %s, %c처럼 말입니다. 그래서 % 하나만 딱 쓰면 컴파일러가 "이건 서식 지정자 시작이네" 하고 기다리다가 뒤에 나오는 문자와 조합해버립니다.
그래서 "진짜 % 글자 자체를 출력하고 싶다"는 뜻을 전달하려면 %%라고 두 번 써서 "이건 서식 지정자가 아니라 진짜 % 글자야"라고 알려줍니다.
/는 printf 입장에서 아무 의미 없는 그냥 평범한 글자라서 특별 취급할 필요가 없습니다. a, b, /, + 같은 일반 문자들은 다 한 번만 쓰면 됩니다.
다른 특수문자도 있을까요?
네, 있습니다. 다만 성격이 조금 다릅니다.
%% → printf 서식 지정자를 이스케이프하기 위한 것 (printf 전용)
\ (백슬래시) → 이건 printf가 아니라 C 문자열 자체의 이스케이프 문자입니다. 이미 \n(줄바꿈), \t(탭)처럼 써봤을 텐데, 이 \도 특별한 의미를 가진 문자라서 다음과 같은 규칙이 있습니다:
진짜
\글자 하나를 출력하고 싶으면\\처럼 두 번 써야 합니다문자열 안에 큰따옴표(
")를 넣고 싶으면\"처럼 써야 합니다 (그냥"를 쓰면 문자열이 거기서 끝난 걸로 인식되기 때문입니다)
0
안녕하세요, 인프런 AI 인턴입니다. 가보자고님.
printf와 같은 출력 함수에서 % 기호는 특별한 의미를 가지고 있어 실제 기호로 출력하려면 %%를 사용해야 합니다. 그러나 / 기호는 이러한 특별한 처리가 필요하지 않기 때문에 한 번만 써도 출력이 됩니다.
특별한 의미를 갖는 기호
%: 출력 포맷을 정의할 때 주로 사용됩니다(예:%d,%s). 따라서%를 출력하려면 항상%%를 사용합니다.
다른 문자인 /, +, - 등은 포맷이 아닌 수학적 연산자로 쓰이기 때문에 이와 같은 특별한 처리가 필요하지 않습니다.
이러한 내용을 사용할 때에는 추가적인 정보를 위해 printf 함수에서의 문자 출력 방법에 대한 설명을 참고하시면 유익할 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
조건 반복문 질문: for 문 ?
0
27
0
정처기 26-2회. 9번 질문드립니다!
0
51
1
이론 보면서 질문이 있습니다.
0
60
2
정보처리기사 실기 26년 2회 SRT 스케줄링 문제 단위 질문
0
62
2
유튜브(정보처리기사 실기 | 26년 2회 기출문제 코드 해설)
0
77
2
262 정처기 실기 C언어코딩
0
33
1
정보처리기사 262 실기 Hash(해시) 질문
0
64
2
static 변수 질문입니다.
0
47
2
파이썬 4강 질문입니다.
0
59
2
모의고사 1회 3번문제
0
76
3
41강 30:10
0
53
2
이론 공부법 질문 있습니다.
0
79
2
부모의 생성자 관련 질문
0
54
2
시험지 문제에 필기해도 되나요?
0
69
3
41강 11:23
0
49
2
4강파이썬 질문입니다
0
47
2
try-catch 핸들러명
0
58
2
36강 3:48
0
58
2
35강 18:27
0
55
2
자식 코드 내 super() 생략
0
51
2
출력질문
0
67
2
31강 4:06
0
58
2
파이썬 학습자료가 강의 자료와 다릅니다.
0
85
3
섹션 2 - 9강 강의자료 다운로드 문제
0
70
3

