this 사이트에 자신을 인쇄하는 프로그램이 나왔습니다. 즉, 프로그램 코드가 인쇄됩니다.자체를 인쇄하는 프로그램은 어떻게 작동합니까?
프로그램 코드는 다음과 같습니다
#include <stdio.h>
char *program = "#include <stdio.h>%cchar *program = %c%s%c;%cint main()%c{%cprintf(program, 10, 34, program, 34, 10, 10, 10, 10, 10, 10);%c return 0;%c}%c";
//what is this line doing, what is the use of %c and %s and what properties of %c and %s are being used here?
int main()
{
printf(program, 10, 34, program, 34, 10, 10, 10, 10, 10, 10);
//what is this print function doing, and how?
return 0;
}
그리고 주어진 설명입니다 : 여기에 내장 %의 지정 문자열을 사용하는
두 개의 키 트릭 문자열을 포함 할 수 있도록은 % c 형식 지정자를 사용하여 특수 문자 을 줄 바꿈과 비슷하게 인쇄 할 수 있습니다.이 경우 줄 바꿈 문자는 문자열에 포함될 수 없습니다.
나는 프로그램이 어떻게 작동 하는지를 몰랐다. 나는 내가 필요한 설명을하고, 어떻게 작동하며, 무엇을하고 있는지에 대해 언급했다. 설명 해주십시오.
다음의 프로그램을 것입니다. 이것이 숙제인가 아니면 프로그래머 도전인가? –
이 같은 것은 없습니다, 나는 그것을 가로 질러 왔습니다. 숙제 인 경우 숙제 태그를 사용했을 것입니다. – SpeedBirdNine
귀하의 의견도 quine :) 휴식, 또한 indenting은 quine에서 올바르지 않습니다. [이것은 최근 C++에서 가장 최근에 나온 것입니다.] (http://codepad.org/sKvDs2Et) @MichaelDorgan : 예 역사적으로 뿌리깊은 프로그래머의 도전입니다. – sehe