问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何写一个程序打印出程序本身的代码

发布网友 发布时间:2022-04-20 22:22

我来回答

3个回答

热心网友 时间:2023-06-25 00:25

要写一个可移植的自再生的程序是件很困难的事, 部分原因是因为引用和字符集的难度。
这里是个经典的例子 (应该以一行表示的, 虽然第一次执行后它后自修复):
char*s="char*s=%c%s%c;main(){printf(s,34,s,34);}";
main(){printf(s,34,s,34);}
这段程序有一些依赖, 忽略了 #include <stdio.h>, 还假设了双引号 " 的值为34, 和 ASCII 中的值一样。
这里还有一个有 James Hu 发布的改进版:

#define q(k)main(){return!puts(#k"\nq("#k")");}
q(#define q(k)main(){return!puts(#k"\nq("#k")");})

热心网友 时间:2023-06-25 00:26

首先,你要写一个完整的程序。
二、把你写的程序代码保存为txt文本。
三、把文本导入res资源文件。
四、在程序中添加导出并显示res资源文件中txt资源的功能。
五、编译

热心网友 时间:2023-06-25 00:26

loj.ac的一道题目:
#include<cstdio>
const char*str="#include<cstdio>%cconst char*str=%c%s%c;%cint main(){printf(str,10,34,str,34,10);return 0;}";
int main(){printf(str,10,34,str,34,10);return 0;}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 锻炼颈椎的几个动作 水多久能结冰 冰能在多长时间内形成 请问水低于0度会结冰吗? 如何防止脱发严重 嘴唇上有黑印用蜜蜡和棉线去除了胡须 c语言写一个程序 满足下面三个步骤? C语言程序怎么写 程序怎么编写 如何编写C语言程序? 怎么编写程序 程序怎么写? 美团众包校园订单是什么意思 美团众包和达达可以同时接单吗? 戴尔笔记本待机后一直黑屏 我的戴尔电脑待机就一直黑屏,只能强制关机,其他... 戴尔待机后屏幕黑屏是怎么回事? 戴尔笔记本休眠后无法唤醒,是休眠后无法唤醒,什... 戴尔笔记本黑屏后用什么办法能解决好? 我的戴尔笔记本睡眠后无法唤醒,怎么办啊!一直黑... 戴尔g15自动睡眠后开不了机怎么办 戴尔灵越笔记本休眠黑屏无法唤醒 戴尔笔记本待机怎么唤醒屏幕不亮 臭氧果蔬清洗机有效吗 如何使用果蔬清洗机才是正确的? 果蔬清洗机有什么作用? 怎样用C语言写一个程序,打开记事本,并输入一段文字 编程怎么编出一个程序,怎么写代码? 如何用VC编写一个程序,运行打开指定网页 如何写一个C程序可以打开一个电脑上的软件?? 如何用bat编写一个程序 如何用C++写一个打包程序? 怎么编写程序 bat等 用C语言的知识编写一个程序,这个怎么写啊呜呜,老... 美团众包订单? 怎么截取视频,视频片段截取的方法 如何设置微信登录权限 苹果手机怎么设置微信进入密码 怎么样让别人微信限制登录 vivo手机怎样让微信和qq设置密码才能进去 微信怎么设置登录权限 苹果8未越狱版如何设置进入微信需要指纹锁 如何在淘宝店铺宝贝分类图片设置收藏本店链接 怎么让自己淘宝店铺的图片点进去就是收藏店铺呢,... 淘宝卖家怎样增加收藏本店模块? 怎么在淘宝店铺页头的图片里打上收藏本店