//Program tested on Microsoft Visual Studio 2008 - Zahid Ghadialy
//Challenge program to self print itself
//Original from http://www.cprogramming.com/challenges/solutions/self_print.html
#include<iostream>
char *program = "#include <iostream>%cchar *program = %c%s%c;%cint main()%c{%c printf(program, 10, 34, program, 34, 10, 10, 10, 10, 10, 10);%c return 0;%c}%c";
int main()
{
printf(program, 10, 34, program, 34, 10, 10, 10, 10, 10, 10);
return 0;
}
//Note the trick
//In ASCII, 10 = LF or new line feed
//In ASCII, 34 = double quotes or "
//%c is printing charachter. 10 for new line and 34 for double quotes
//%s is printing the string
The output is as follows. Note that the aim is for the program to print itself and not the comments. Also the output is wrapped around.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEY8rxPkD5uSw5Vwrya6QHvcl85ZYuiSepLcVPtbJRYoXzwS6ECgzGAPgdUPaJjtBRNgETCTiUctRKFTzeOcbSAWaf093JQu-h7DrWlEbOG7uJUbl2eGEq8P74kHW-0LOXegnA2lE6ikSD/s400/zg_self_print.jpg)
No comments:
Post a Comment