출력이란 무엇입니까? 나는 \\
을 혼동합니다. 어떻게 작동합니까?다음과 같은 C 프로그램의 출력은 어떻게됩니까?
#include <stdio.h>
void main(){
printf("\\nab");
printf("\\bsi");
printf("\\rha");
}
출력이란 무엇입니까? 나는 \\
을 혼동합니다. 어떻게 작동합니까?다음과 같은 C 프로그램의 출력은 어떻게됩니까?
#include <stdio.h>
void main(){
printf("\\nab");
printf("\\bsi");
printf("\\rha");
}
출력은 \nag\bsi\rha
입니다. 문자열 "\\"
은 리터럴 "\"
으로 변환됩니다.
그 이유는 \n
이 새 줄을 상징하기 때문이며, 단일 문자 \
에 대해 여러 가지 다른 용도가 있기 때문입니다. 이 방법으로 작동하지 않으면 리터럴 \n
을 인쇄 할 방법이 없습니다.
대답은 다음과 같습니다
\nab\bsi\rha
1
- 세 가지 텍스트가 함께 인쇄됩니다 당신은 이스케이프 문자\n
없이
printf
을 사용하고 있기 때문에, 당신은
를 얻을 것이다 대신
...
printf("\\nab\n");
printf("\\bsi\n");
printf("\\rha\n");
...
를 사용하는 경우
\nab
\bsi
\rha
처음 인쇄 할 때 01을 쓰고 있습니다.이것은 새로운 줄을 의미하지만, '있는 그대로'의 단일 슬래시를 나타내는 두 개의 슬래시를 선언하고 있습니다 (C에서는 슬래시를 인쇄하려면 \\ (2)를 사용해야합니다. 단일 슬래시가 \ n과 같은 특수 이스케이프 문자).
는 큰 차이점을 볼 수 그것으로 당신의 원본을 실행하려고이 \
특수 문자 전에 사용하는 경우
#include <stdio.h>
void main()
{
printf("\nab\n"); /* Note that I am using a escape character \n to make a new line after each print */
printf("\bsi\n");
printf("\rha\n");
}
기본적으로, 그것은 문자 그대로 탈출라고합니다. 이것이하는 일은 특수 문자의 기능을 그 바로 앞에서 제거하는 것입니다. 예 : 출력에이 줄을 인쇄하려는 경우 : Hi this, ", is a quote symbol
. printf("Hi this, \", is a quote");
마찬가지로 \ n \ t \ b와 같은 이스케이프 시퀀스의 경우 특수 문자 \
을 제거하려면 이스케이프 리터럴이 필요합니다.
컴파일하고 실행하려고 했습니까? 이 경우 결과는 무엇이고 예상 한 내용은 무엇입니까? –