10171번: 고양이
아래 예제와 같이 고양이를 출력하시오.
www.acmicpc.net
이스케이프 시퀀스에 대해 알고 있는지 묻는 문제이다.
이스케이프 시퀀스를 모른다면 아래 더보기 버튼을 클릭해서 접은글을 확인해보도록...
이스케이프 시퀀스에 대한 자세한 설명은 아래 링크에서 확인할 수 있다.
https://learn.microsoft.com/ko-kr/cpp/c-language/escape-sequences?view=msvc-170
이스케이프 시퀀스
자세한 정보: 이스케이프 시퀀스
learn.microsoft.com
위 링크의 내용을 요약하자면 다음과 같다.
이스케이프 시퀀스는 백슬래시(\) 뒤에 한 문자나 숫자 조합이 오는 문자 조합을 의미한다.
일반적으로 터미널과 프린터의 캐리지 리턴 및 탭 이동과 같은 동작을 지정하거나,
인쇄할 수 없는 문자 및 특별한 의미를 가진 문자(ex. 따옴표)의 리터럴 표현을 제공하는 데 사용한다.
쉽게 설명하자면,
예를 들어 큰따옴표(")는 문자열의 시작과 끝을 의미하는 문자, 즉 특별한 의미를 가진 문자이다.
큰따옴표(")를 출력하려고 아래와 같이 코드를 작성하면 컴파일에러가 난다.
printf(""");
첫 번째 큰따옴표가 문자열을 열고, 두 번째 큰따옴표가 문자열을 닫고,
세 번째 큰따옴표가 또 문자열을 열었지만, 그대로 함수가 닫히므로
문자열이 닫히지 않은 채 printf( ) 함수가 종료되기 때문이다.
따라서, 두 번째 큰따옴표가 문자열을 닫는 기능을 수행하지 않도록 해야한다.
용도를 벗어나서(escape) 사용하기 위해서는 이스케이프 시퀀스를 사용하면 된다.
큰따옴표를 출력하는 코드를 수정하면 아래와 같다.
printf("\"");
이 외에도 다양한 이스케이프 시퀀스가 있다.
이스케이프 시퀀스 | 표현 |
\a | 벨(경고) |
\b | 백스페이스 |
\f | 폼 피드 |
\n | 줄 바꿈 |
\r | 캐리지 리턴 |
\t | 가로 탭 |
\v | 세로 탭 |
\' | 작은따옴표 |
\" | 큰따옴표 |
\\ | 백슬래시 |
\? | 물음표 |
백슬래시(\), 줄 바꿈, 작은따옴표(') 를 출력하려면 이스케이프 시퀀스를 활용해야 한다.
예제 출력1의 출력 결과를 복사한 후 백슬래시(\), 줄 바꿈, 작은따옴표(')를 이스케이프 시퀀스로 바꿔주면 된다.
#include <stdio.h>
int main(void) {
printf("\\ /\\\n ) ( \')\n( / )\n \\(__)|");
return 0;
}
'PS > 백준' 카테고리의 다른 글
[백준] 25083번: 새싹 [C] (0) | 2023.01.02 |
---|---|
[백준] 10172번: 개 [C] (0) | 2023.01.02 |
[백준] 2588번: 곱셈 [C] (0) | 2023.01.02 |
[백준] 10430번: 나머지 [C] (0) | 2023.01.02 |
[백준] 3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰 [C] (0) | 2023.01.02 |