大家帮忙看看这段奇怪的代码

kwovex 2008-11-09 04:28:03
#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);
}


那个main(t,_,a)
char *a;
{ ...}
中的char *a放在函数定义后是什么意思

...全文
187 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
wskyo 2008-11-10
  • 打赏
  • 举报
回复
这些是老的代码。。。。。。。
once_and_again 2008-11-10
  • 打赏
  • 举报
回复
混乱编码大赛

强中更有强中手
LiTuX 2008-11-10
  • 打赏
  • 举报
回复
在当年,K&R时期的C语言就是这样的,定义的函数中,形参列表中只是相应的参变量名,类型在函数后给定,像这样:

int function(arg1, arg2)
int arg1, int arg2;
{
/* Do something about arg1, and arg2 */
return something;
}

现在的编译器虽然为了向后兼容,仍然支持这种格式,但是因为没有原型(声明)的原因,使得编译器不检查代码中的函数调用,所以会产生可怕的问题,——所以不要这么用,只需要知道这个,并且在看一些古老的遗留代码时能看懂就可以了。


cyj626 2008-11-10
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 sunnybones 的回复:]
引用 2 楼 xhs_lh04 的回复:
func(t)
char *t;

跟func(char *t)
一样



上面那个是以前的写法,现在都按
func(char *t)
这种写法写
[/Quote]
up
czbever 2008-11-10
  • 打赏
  • 举报
回复
倒掉 这么恶心的代码
lbh2001 2008-11-10
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 kwovex 的回复:]
那个下划线是什么意思?也能做变量?
[/Quote]
当然可以,只是不提倡,因为是为库保留的
C变量名是由字母、下划线、数字组成,且数字不能作为第一个字符,第一个字符是下划线是允许的
kwovex 2008-11-10
  • 打赏
  • 举报
回复
那个下划线是什么意思?也能做变量?
kwovex 2008-11-10
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 betterpig 的回复:]
本来打算帮LZ解决问题的,一看这排版头就大了,不拿分,闪人!
[/Quote]


呵呵 这排版 一看就是网摘 嚯嚯 不好意思啊
shinefree2004 2008-11-10
  • 打赏
  • 举报
回复
mark
insmile 2008-11-10
  • 打赏
  • 举报
回复
长见识了
tsoslience 2008-11-10
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 fengxuxing 的回复:]
这可是80年代 c语言混乱代码大赛 的获奖作品。结果是一首歌。有人专门分析过了。超级强
[/Quote]

果然太强了
这年代谁要写这个代码
不得被骂死啊
Qlaiaqu 2008-11-10
  • 打赏
  • 举报
回复
这可是80年代 c语言混乱代码大赛 的获奖作品。结果是一首歌。有人专门分析过了。超级强
xmczr 2008-11-10
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 hitlion2008 的回复:]
兄弟, 你可以去参赛了!!!!!!
[/Quote]

确实!!!!!!!1
dzc8866 2008-11-10
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 lbh2001 的回复:]
C89以前的C函数的传统写法
C89后改成现代的写法了,但为了兼容旧代码,也允许老式写,不提倡

main(t,_,a)
char *a;
{ ...}
等价
main(int t, int _, char *a)
未声明类型的默认int
[/Quote]

学习了UP
lbh2001 2008-11-10
  • 打赏
  • 举报
回复
C89以前的C函数的传统写法
C89后改成现代的写法了,但为了兼容旧代码,也允许老式写,不提倡

main(t,_,a)
char *a;
{ ...}
等价
main(int t, int _, char *a)
未声明类型的默认int
betterpig 2008-11-09
  • 打赏
  • 举报
回复
本来打算帮LZ解决问题的,一看这排版头就大了,不拿分,闪人!
sunnybones 2008-11-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xhs_lh04 的回复:]
func(t)
char *t;

跟func(char *t)
一样
[/Quote]


上面那个是以前的写法,现在都按
func(char *t)
这种写法写
alexhilton 2008-11-09
  • 打赏
  • 举报
回复
兄弟, 你可以去参赛了!!!!!!
yy405145590 2008-11-09
  • 打赏
  • 举报
回复
??
bfhtian 2008-11-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xhs_lh04 的回复:]
func(t)
char *t;

跟func(char *t)
一样
[/Quote]
学习了
加载更多回复(4)

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧