gpt4 book ai didi

c - 如何从 K&R C 转换为 ANSI C?

转载 作者:太空狗 更新时间:2023-10-29 17:18:53 27 4
gpt4 key购买 nike

我正在尝试执行以下代码,这是 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()
{
_-_-_-_
_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_
_-_-_-_
}

从词条描述来看,这段代码是通过查看自己的面积来计算圆周率的。我在不更改代码的情况下成功编译了它。但是当我执行时,它给了我一个值 0.25,我期望的是 3.14。代码描述说它在 K&R C 中,如果不做一些更改,它在 ANSI C 中不能正常工作。我认为我必须进行这些修改才能正确执行它。我以前没有任何使用 K&R C 的经验。所以有人可以帮助我将上面的代码更改为 ANSI C 或指出问题(如果有的话)。我正在使用 Microsoft Visual Studio 2008 来执行此操作。

最佳答案

如果你有 GCC,用 ' -traditional-cpp 编译' 标志。

区别在于' -_ '序列被翻译成'- -F<00 ' 或 ' --F<00 '.

一个空格很关键:它是双重否定和预递减之间的区别。

关于c - 如何从 K&R C 转换为 ANSI C?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1542023/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com