我用TC2.0可能通过.
wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
main(_)的参数是 _ ,相当于argc,下面我把这个程序修改一下,看起来就清楚了
[CODE]main(int argc)
{
for(--argc;putchar(argc++["J!Mpwf!Zpv\1"]-1););
}[/CODE]
在没有参数的情况下argc的初值为1.
深刻理解数组下标运算符[]的知道这个程序等价于下面的:
[CODE]main(int argc)
{
for(--argc;putchar("J!Mpwf!Zpv\1"[argc++]-1););
}[/CODE]
"J!Mpwf!Zpv\1"的值是首字符地址,写成下面这样就更清楚了:
[CODE]main(int argc)
{
char s[]="J!Mpwf!Zpv\1";
for(--argc;putchar(s[argc++]-1););
}[/CODE]
"J!Mpwf!Zpv\1" 中的各个字符在-1之后就是"I Love You\0"
这个程序的巧妙之处就在于用'_'替换'argc',然后利用C中下标运算符,C的诡异离奇造就了这个程序的巧妙
OVER ! 觉得分析的好就给点掌声