能不能寫出一個代碼,使代碼的運行結果是輸出這段代碼本身?
題主小白 突發奇想
目前能想到的唯一思路是調用gdb..但感覺這樣就不算了。。
有沒有什麼辦法,讓一段代碼無論在什麼情況下(任何文件名 任何路徑)執行都可以輸出代碼本身
完全可以。
用C語言的實現如下。
main(a){printf(a,34,a="main(a){printf(a,34,a=%c%s%c,34);}",34);}
HTML表示毫無壓力
讀取自己然後輸出自己算不?python 里一句話
with open(__file__) as f:
print(f.read())
var test = function(){
var calee = arguments.callee;
console.log(`var ${calee.name} = ${calee.toString()}`)
};
test();
我是來搞笑的!!!! ^_ _^
經典問題
http://uoj.ac/problem/8具體方式看提交記錄就好upd:之前鏈接沒有自動跳轉...改過來了...這種程序被稱為quine程序,一種方法是讓程序讀入自己的文件,另一種方法則用到一些巧妙的變換,當年寫這個的時候我還年輕,寫的巨長:
#include &
#define STRING(S) #S
#define PRINT(A, B) printf("%s%s%s", A, STRING((A, B)), B)
main(){PRINT("#include &
#define STRING(S) #S
#define PRINT(A, B) printf("%s%s%s", A, STRING((A, B)), B)
main(){PRINT", ";}");}
啥也不寫
重定向呀
比如c語言,程序編譯後是exe,原來的.c還保存的。運行時只需要重定向到.c文件就好了嘛如果你嫌這不夠。
彙編語言解決辦法 直接把cs:0到程序末尾(標記)的數據(如果你想轉化成ascll碼的話)寫入0b8000H-0bfffH之後就可以了首答。手機打字就沒代碼了,有人問的話再補
知乎大神們請無視你需要一對兒雙引號
寫純文本吧
你需要準備一張說明書,一堆原材料。
圖靈機:發現說明書與原材料
圖靈機:開始製造
圖靈機:製造完成,獲得圖靈機
回收圖靈機
獲得「圖靈機「與「圖靈機「。
Code:
#include &
int main(){
char *self="#include&
printf(self,10,10,34,self,34,10);}
貌似有個圖靈機的遞歸定理???
推薦閱讀:
※開腦洞:東方神話和西方神話,能不能完美的融合到一起?
※斷腸人為什麼是在天涯而不是豆瓣、知乎、虎撲、貼吧?
※你們有哪些自己幻想過的有點科學根據的強大武器?
※如果人類不用十進位而改用其它進位,會對現實產生什麼樣的影響?
※當npc是一種怎樣的體驗?