IOCCC.1984.anonymous.c.解析
来源:互联网 发布:数据挖掘技术的历史 编辑:程序博客网 时间:2024/06/05 19:15
anonymous.c:
int i;main(){for(;i["]<i;++i){--i;}"];read('-'-'-',i+++"hell\ o,
world!\n",'/'/'/'));}read(j,i,p){write(j/p+p,i---j,i/i);}
http://ioccc.org/years.html#1984
整理一下:
int i;main(){ for(;i["]<i;++i){--i;}"];) read('-'-'-',i+++"hell\o, world!\n",'/'/'/');}read(j,i,p){ write(j/p+p,i---j,i/i);}
- i+++被解析为i++ +
i["]<i;++i){--i;}"]
相当于"]<i;++i){--i;}"[i]
由于每次i增1,该表达式作为for语句的条件即为“当"]<i;++i){--i;}"[i]
不为'\0'
时循环,在字符串常量结尾会有'\0'
因此条件相当于i<=14
”'-'-'-'
和'/'/'/'
char提升为int直接运算为0和1
int i;main(){ for(;i<=14;i++) read(0,i+"hell\o, world!\n",1);}read(j,i,p){ write(j/p+p,i---j,i/i);}
- 传入read()函数的j和p始终为0和1
- 将read()函数之间带入main()
int i;main(){ for(;i<=14;i++) write(1,i+"hell\o, world!\n",1);}
- 取消转义换行
最终:
int i;main(){ for(;i<=14;i++) write(1,i+"hello, world!\n",1);}
1 0
- IOCCC.1984.anonymous.c.解析
- 国际混乱C代码大赛代码解析:IOCCC 1984 —— anonymous
- IOCCC.1987.korn.c.解析
- IOCCC
- IOCCC
- IOCCC
- IOCCC--国际混乱C代码大赛
- 国际C语言混乱代码大赛:IOCCC
- C程序乱码大赛获奖程序 IOCCC
- 国际C语言乱码大赛(IOCCC)经典之作
- 国际C语言乱码大赛(IOCCC)经典之作
- 国际C语言混乱代码大赛(IOCCC)
- 国际C 语言乱码大赛(IOCCC)1988年获奖作品
- 国际C 语言乱码大赛(IOCCC)获奖作品
- Anonymous struct/union in C
- { ioccc }hdoj1013
- Closure and anonymous functions in Objective-C
- 那些设计出来就不希望别人看懂的C代码——IOCCC国际模糊C代码大赛
- poj 2023 Choose Your Own Adventure 树形结构的搜索
- Couchbase学习笔记(2)——安装配置
- ncdu安装与使用
- iOS-极光推送开发小结
- 九度OJ 1207:质因数的个数 (质数)
- IOCCC.1984.anonymous.c.解析
- Android OOM解决思路
- shiro、SpringMVC权限控制
- iOS-极光推送开发小结
- 历时一个多月的性能测试项目总结
- gdb qemu调试linux kernel并修改远程连接的bug
- 第一篇
- HDU 5506(GT and set)
- 九度OJ 1208:10进制 VS 2进制 (进制转换)