#4 출력(2) - 더 다양한 내용 출력하기

특수한 문자를 출력해봅시다

Table Of Contents

줄바꿈

문제)

이전 글에서는 “Hello world!”라는 문자열을 출력했습니다.

2022년 3월 30일

하지만 위와 같은 내용을 출력하려면 어떻게 해야 할까요?

코드

#include <stdio.h> int main(void) { printf("2022 3 30일"); return 0; }

결과

빌드 실패

처럼 입력해 보았지만 빌드가 실패합니다. 이렇게 코드를 작성하는 것은 C언어의 문법에 맞지 않습니다.

그렇다면 이렇게 세 줄에 나누어서 쓰면 어떨까요?

코드

#include <stdio.h> int main(void) { printf("2022년"); printf("3월"); printf("30일"); return 0; }

결과

2022년3월30일

이제는 모든 내용이 붙어서 나옵니다😂

해답)

줄바꿈을 출력하고 싶다면, \n이라는 특수문자를 이용해야 합니다. 이 문자는 C언어에서 오직 줄바꿈만을 출력하는 문자입니다.

아래처럼 줄바꿈을 출력하고 싶은 위치에 \n 문자를 넣어주세요.

코드

#include <stdio.h> int main(void) { printf("2022년\n3월\n30일"); return 0; }

결과

2022년 3월 30일

“(백슬래시)” 문자가 키보드에서 보이지 않는다면, 엔터키 위 ₩ 문자를 눌러주세요😊 /(슬래시)가 아닌 (백슬래시)입니다!

실행하면 \n이라는 문자가 아니라 멋지게 줄바꿈이 출력되었습니다.

\ 출력하기

위에서는 \n이라는 문자를 이용해서 줄바꿈을 출력했습니다. 그렇다면 “\n”이라는 문자열 자체는 출력할 수 없는걸까요?

코드

#include <stdio.h> int main(void) { printf("\n"); return 0; }

결과

심지어는 “\” 자체를 출력하려 해도 오류가 생깁니다.

코드

#include <stdio.h> int main(void) { printf("\"); return 0; }

결과

빌드 실패!

\”는 C언어에서 조금 특별한 용도로 사용되기 때문입니다. C언어에서 \를 출력하고 싶다면, \\와 같이 써야 합니다.

코드

#include <stdio.h> int main(void) { printf("\\n"); return 0; }

결과

\n

코드

#include <stdio.h> int main(void) { printf("\\"); return 0; }

결과

\

“ 출력하기

이번에는 "을 출력해보려고 합니다.

코드

#include <stdio.h> int main(void) { printf("""); return 0; }

결과

빌드 실패!

🤔🤔🤔🤔🤔

C언어에서 " 역시, 문자열의 시작과 끝을 나타내는 용도로 사용되기 때문에 특수한 기호로 취급됩니다. printf() 함수 안에서는 문자열을 출력할 수 있는데, 컴퓨터는 "" 한 쌍이 나온 순간 문자열이 끝난 것으로 이해합니다. 그런데 뒤로 또 다른 "가 있으므로 오류가 생긴 것입니다.

printf("" ← 문자열 끝! " ← ???)

"를 출력하려면 " 앞에 백슬래시를 붙여 \"처럼 사용해주세요.

코드

#include <stdio.h> int main(void) { printf("\""); return 0; }

결과

"