title: Can a program output a copy of itself
body: <p>I think this might be a classic question but I am not aware of an answer. Can a program output a copy of itself, and, if so, is there a short program that does this?</p>
  
  <p>I do not accept the "empty program" as an answer, and I do not accept programs that have access to there own source code. Rather, I am thinking something like this:</p>
  
  <pre><code>int main(int argc, char** argv){ printf("int main(argc, char** argv){ printf...
  </code></pre>
  
  <p>but I do not know how to continue...</p>