Vad*_*ath 6 c obfuscation kr-c
我正在尝试执行以下代码,这是1988年的混淆C代码竞赛条目.
#define _ -F<00||--F-OO--;
int F=00,OO=00;main(){F_OO();printf("%1.3f\n",4.*-F/OO/OO);}F_OO()
{
_-_-_-_
_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_
_-_-_-_
}
Run Code Online (Sandbox Code Playgroud)
从条目描述中,此代码通过查看其自己的区域来计算pi.我成功编译它而不更改代码.但是当我执行时,它给了我0.25的值,我期待的是3.14.代码描述表明它在K&R C中,如果没有一些更改,它在ANSI C中无法正常工作.我想我必须做那些修改才能正确执行它.我以前没有K&R C的经验.所以有人可以帮助我将上述代码更改为ANSI C或指出问题(如果有的话).我正在使用Microsoft Visual Studio 2008来执行此操作.
Jon*_*ler 10
如果您有GCC,请使用' -traditional-cpp
'标志进行编译.
不同之处在于' -_
'序列是否被翻译为' - -F<00
'或' --F<00
'.
一个空间是至关重要的:它是双重否定和预先减少之间的区别.