打印自身源代码的程序
生活随笔
收集整理的這篇文章主要介紹了
打印自身源代码的程序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
無意當中看到了這樣一個問題:
任意選定一個語言寫一個打印自身源代碼的程序,這個程序不允許讀取或者寫其他文件的數據,程序必須是完全獨立的。
很有趣吧?我正在學習C語言,這個問題是我在查找其他資料時看到的,這激發了我的興趣,我躺在床上想了很久,沒有一點頭緒,額,最后抱著認為不大可能實現的想法睡著了······
回到正題,我在網上搜索了有關資料以后,知道了如何去寫出這樣的一個程序,原理是定義一個關于源代碼自身的串string,然后加入把string改寫成程序自身的算法編碼,最后輸出string。由于c語言中有個Printf(),實現這個代碼就十分的方便,由于我還不會其他語言,所以只把c的代碼貼下:
#include <stdio.h>int main()
{
char *s = "#include <stdio.h>%cint main(){char *s = %c%s%c; printf( s, 10, 34, s, 34 ); return 0; }";
printf( s, 10, 34, s, 34 ); return 0;
} ?
需要注意的一點是,這個代碼應該有指明打印的位置與打印多少。
總結
以上是生活随笔為你收集整理的打印自身源代码的程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 全面反攻,不给割肉者任何机会
- 下一篇: 汽车维修企业管理【6】