Mã C bị xáo trộn sau in các từ vào "12 ngày của Xmas".Ba đối số đối với chính, và các thủ thuật gây xáo trộn khác
Tôi đang cố gắng giải thích cách hoạt động của nó. Tôi về cơ bản hoàn toàn bị mất. Ý nghĩa của ba đối số không được phân tách là chính trong cuộc gọi ban đầu, chuỗi ký tự sau lần trả về đầu tiên, đối số số âm cho các cuộc gọi đến chính là gì? Eek!
Tôi chủ yếu làm suy nghĩ này có lẽ tôi sẽ tìm hiểu một số góc thú vị của ngôn ngữ C, vì vậy câu trả lời trong mạch đó được chào đón nhiều nhất.
#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 [email protected]'(q)-[w]*%n+r3#l,{}:\nuwloca-O;m .vpbks,fxntdCeghiry"),a+1);}
Đây có phải là từ IOCCC không? – Zifre
Không thể nhớ nơi tôi tìm thấy nó. Lấy làm tiếc. – Leonard
Vâng, đó là từ ioccc: http://www.ioccc.org/1988/phillipps.c –