输出源代码的代码

我们可以把计算机看成一个函数,将一份代码映成一段输出,那么输出为代码本事就是数学中不动点。任意语言都有很多相应版本的这种程序,原理都是类似的,我自己写的C++代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include<iostream>
#include<string>
using namespace std;
/**************************************
* Welcome to visit http://dna049.com
**************************************/

string a[20];
int main(){
a[0]="#include<iostream>";
a[1]="#include<string>";
a[2]="using namespace std;";
a[3]="/**************************************";
a[4]="* Welcome to visit http://dna049.com";
a[5]="**************************************/";
a[6]="string a[20];";
a[7]="int main(){";
a[8]="for(int i=0;i<8;++i) cout<<a[i]<<endl;";
a[9]="for(int i=0;i<=12;++i) cout<<char(97)<<char(91)<<i<<char(93)<<char(61)<<char(34)<<a[i]<<char(34)<<char(59)<<endl;";
a[10]="for(int i=8;i<=12;++i) cout<<a[i]<<endl;";
a[11]="return 0;";
a[12]="}";
for(int i=0;i<8;++i) cout<<a[i]<<endl;
for(int i=0;i<=12;++i) cout<<char(97)<<char(91)<<i<<char(93)<<char(61)<<char(34)<<a[i]<<char(34)<<char(59)<<endl;
for(int i=8;i<=12;++i) cout<<a[i]<<endl;
return 0;
}