免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 1756 | 回复: 13
打印 上一主题 下一主题

关于printf,请大家看看 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-11-08 14:32 |只看该作者 |倒序浏览
printf(&unix["\021%six\012\0"],(unix)["have"] + "fun" - 0x60)

高人分析结果看看

论坛徽章:
0
2 [报告]
发表于 2004-11-08 15:22 |只看该作者

关于printf,请大家看看

我们知道,设char a[N];则a实际上是取a+i地址所指的内容;
在linux下,unix是宏,其值为1;
首先看&unix["\021%six\012\0"],
等于取1+"\021%six\012\0"的地址即"%six\012\0",
\012是\n,\0是字符串的结束符,所以打印的format是"%six\n",其中%s表示要打印字符串;
同样,再看(unix)["hava"],是要取1+"hava"地址的单个字符,即'h'后面的'a';而'a'=0x61;
所以(unix)["have"] + "fun" - 0x60等于"fun"+0x61-0x60等于"fun"+1等于"un";
因此,源语句是printf("%six\n","un";
输出结果是unix

论坛徽章:
0
3 [报告]
发表于 2004-11-08 15:43 |只看该作者

关于printf,请大家看看

是真的,分析的很有道理

论坛徽章:
0
4 [报告]
发表于 2004-11-08 15:44 |只看该作者

关于printf,请大家看看

厉害、厉害!

论坛徽章:
0
5 [报告]
发表于 2004-11-08 15:53 |只看该作者

关于printf,请大家看看

这个题目是不是学校用来考试的?

论坛徽章:
0
6 [报告]
发表于 2004-11-08 16:04 |只看该作者

关于printf,请大家看看

这是1987年“国际C语言混乱码大赛”的获奖作品,作者David Korn,在《C专家编程》上找的到

论坛徽章:
0
7 [报告]
发表于 2004-11-10 11:20 |只看该作者

关于printf,请大家看看

佩服啊,!!!!!!

论坛徽章:
0
8 [报告]
发表于 2004-11-10 11:42 |只看该作者

关于printf,请大家看看

#include <stdio.h>;
main(t,_,a)
char *a;
{
return!0<t?t<3?main(
-79,-13,a+main(
-87,1-_,main(
-86,0,a+1
)+a
)
):1,t<_?main(
t+1,_,a
):3,main(-94,-27+t,a)&&t==2?_<13?
main(2,_+1,"%s %d %d\n":9:16:t<0?t<-72?main(_,t,
"@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l+,/n{n+,/+#n+,/#\
;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l \
q#'+d'K#!/+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# \
){nl]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#n'wk nw' \
iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c \
;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;#'rdq#w! nr'/ ') }+}{rl#'{n' ')# \
}'+}##(!!/"
:t<-50?_==*a?putchar(31[a]):main(-65,_,a+1):main((*a=='/')+t,_,a+1)
:0<t?main(2,2,"%s":*a=='/'||main(0,main(-61,*a,
"!ek;dc i@bK'(q)-[w]*%n+r3#l,{}:\nuwloca-O;m .vpbks,fxntdCeghiry",a+1);
}

这个有人来分析一下吗?

论坛徽章:
0
9 [报告]
发表于 2004-11-10 15:47 |只看该作者

关于printf,请大家看看

four calling birds, three french hens, two turtle doves
and a partridge in a pear tree.

On the tenth day of Christmas my true love gave to me
ten lords a-leaping,
nine ladies dancing, eight maids a-milking, seven swans a-swimming,
six geese a-laying, five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a pear tree.

On the eleventh day of Christmas my true love gave to me
eleven pipers piping, ten lords a-leaping,
nine ladies dancing, eight maids a-milking, seven swans a-swimming,
six geese a-laying, five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a pear tree.

On the twelfth day of Christmas my true love gave to me
twelve drummers drumming, eleven pipers piping, ten lords a-leaping,
nine ladies dancing, eight maids a-milking, seven swans a-swimming,
six geese a-laying, five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a pear tree.

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
10 [报告]
发表于 2004-11-10 17:11 |只看该作者

关于printf,请大家看看

疯子!~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP