我见过的最短最强大的程序
来源:互联网 发布:淘宝对于新店的扶持 编辑:程序博客网 时间:2024/04/29 10:05
#include<stdio.h>
main()
{
char *a="#include<stdio.h>%cmain()%c{%c%cchar *a=%c%s%c;%c%cprintf(a,10,10,10,9,34,a,34,10,9,10,10,10);%c%cgetch();%c}";
printf(a,10,10,10,9,34,a,34,10,9,10,10,10);
getch();
}
这段代码的功能是输出自己的源代码 必须使用头文件
当初是看到兰大acm培训教材里有这个题目
百思不得其解
只好去找答案了
网上的解释:
上面的红色的部分是定义一个字符型的指针a,指向的是引号里面的字符串部分;
上面的蓝色的部分是输出字符型指针a所指向的地址里的内容,也就是引号里的内容;
printf(a,10,10,10,9,34,a,34,10,9,10,10,10);
这里小括号内的第一个a是作为输出字符串的参数传入的,后面的10,10,10,9,34,a,34,10,9,10,10,10都是作为输入格式控制的参数输入的,也就是对应着#include<stdio.h>%cmain()%c{%c%cchar *a=%c%s%c;%c%cprintf(a,10,10,10,9,34,a,34,10,9,10,10,10);%c%cgetch();%c}里面的那么%c,%s,这些数字按字符输出,它们对应的ASCII码刚好是:
9 制表符
10 换行符
34 引号(")
32 空格
以下是我仿照改写的c99标准版
从c99开始函数的返回值不再默认为int
所以 main()是错误的写法
而void main() 也是不合标准的写法
可悲我们的教科书上还是一堆void main()
妈的 连个main函数都写不对 还好意思来骗学生的钱
#include<stdio.h>
int main()
{
char *a=
"#include<stdio.h>%cint%cmain()%c{%c%cchar*a=%c%s%c;%c%cprintf(a,10,32,10,10,9,34,a,34,10,9,10,10,10,32,10);%c%cgetch();%creturn%c0;%c}";
printf(a,10,32,10,10,9,34,a,34,10,9,10,10,10,32,10);
getchar();
return 0;
}
main()
{
char *a="#include<stdio.h>%cmain()%c{%c%cchar *a=%c%s%c;%c%cprintf(a,10,10,10,9,34,a,34,10,9,10,10,10);%c%cgetch();%c}";
printf(a,10,10,10,9,34,a,34,10,9,10,10,10);
getch();
}
这段代码的功能是输出自己的源代码 必须使用头文件
当初是看到兰大acm培训教材里有这个题目
百思不得其解
只好去找答案了
网上的解释:
上面的红色的部分是定义一个字符型的指针a,指向的是引号里面的字符串部分;
上面的蓝色的部分是输出字符型指针a所指向的地址里的内容,也就是引号里的内容;
printf(a,10,10,10,9,34,a,34,10,9,10,10,10);
这里小括号内的第一个a是作为输出字符串的参数传入的,后面的10,10,10,9,34,a,34,10,9,10,10,10都是作为输入格式控制的参数输入的,也就是对应着#include<stdio.h>%cmain()%c{%c%cchar *a=%c%s%c;%c%cprintf(a,10,10,10,9,34,a,34,10,9,10,10,10);%c%cgetch();%c}里面的那么%c,%s,这些数字按字符输出,它们对应的ASCII码刚好是:
9 制表符
10 换行符
34 引号(")
32 空格
以下是我仿照改写的c99标准版
从c99开始函数的返回值不再默认为int
所以 main()是错误的写法
而void main() 也是不合标准的写法
可悲我们的教科书上还是一堆void main()
妈的 连个main函数都写不对 还好意思来骗学生的钱
#include<stdio.h>
int main()
{
char *a=
"#include<stdio.h>%cint%cmain()%c{%c%cchar*a=%c%s%c;%c%cprintf(a,10,32,10,10,9,34,a,34,10,9,10,10,10,32,10);%c%cgetch();%creturn%c0;%c}";
printf(a,10,32,10,10,9,34,a,34,10,9,10,10,10,32,10);
getchar();
return 0;
}
- 我见过的最短最强大的程序
- 迄今为止,我见过的最完美的程序。hdu 2544
- 我见过的最简洁的socket程序
- 史上最强最短的武侠小说。。。
- 我见过的最经典的笑话
- 我见过的最猛的sql
- 我见过的最糟糕的代码
- 我见过最牛的rootkit
- 她是我见过最美丽的人
- 哈哈,这是我见过的最有趣也最无聊的程序
- 回调函数---我见过讲过最详细的
- 最强最短的武侠小说(定稿完全版)
- 做过的最短路径集合
- 关于堆栈的讲解(我见过的最经典的)
- 关于堆栈的讲解(我见过的最经典的)
- 我见过的最有水平的英语笑话
- 这是我见过的最精彩的一篇“高考作文”
- 这是我见过的最精彩的一篇“高考作文”
- 关于字符串比较的一点讨论---strcmp与memcmp的效率及实现原理
- 优秀课件笔记旅游资源和旅游地评价 Evaluation of Tourism Resources 2
- 优秀课件笔记旅游资源和旅游地评价 Evaluation of Tourism Resources 3
- MYSQL在LINUX机器(4G内存)配置参数
- 比尔·盖茨:永远别向复杂低头
- 我见过的最短最强大的程序
- 优秀课件笔记旅游资源和旅游地评价 Evaluation of Tourism Resources 5
- 文件打包与解包
- 蚁群算法
- 优秀课件笔记之旅游地空间竞争与合作发展The Spatial Competition and Cooperation of Tourist
- 关于asp.net 2.0的GridView的问题
- 快毕业了!
- 防止点击同一按钮多次,弹出同一窗体多个的j简单办法
- 优秀课件笔记之重要类型旅游地介绍与分析Introduction and Analysis of Tourist Destinationsof Destinations