다음 코드를 실행하려고합니다. Obfuscated C Code Contest의 1988 항목입니다.K & R C에서 ANSI C (을)를 변환하는 방법?
#define _ -F<00||--F-OO--;
int F=00,OO=00;main(){F_OO();printf("%1.3f\n",4.*-F/OO/OO);}F_OO()
{
_-_-_-_
_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_
_-_-_-_
}
항목 설명에서이 코드는 자체 영역을보고 pi를 계산합니다. 코드를 변경하지 않고 성공적으로 컴파일했습니다. 그러나 내가 처형했을 때, 그것은 나에게 가치 0.25를주고, 내가 기대하는 것은 3.14입니다. 코드 설명에 따르면 K & R C이고 ANSI C에서는 변경하지 않고 올바르게 작동하지 않습니다. 나는 그것을 올바르게 실행하기 위해 수정을해야한다고 생각합니다. K & R C.에 대한 이전 경험이 없습니다. 누군가가 위의 코드를 ANSI C로 변경하거나 문제가있는 경우이를 지적하도록 도와 줄 수 있습니다. 저는 이것을 실행하기 위해 Microsoft Visual Studio 2008을 사용하고 있습니다.
, 왜? 나는 이것을 최소한 유용하다고 생각하지 않는다. 난독 화 된 대회는 당신이 "영리한"모습을 보여줄 수있는 방법이지만, 현실 세계에서는별로 관련이 없습니다. 내 충고, 실제 문제를 찾아 해결하십시오. – paxdiablo
@Pax : $ DEITY에 대한 Inf : – Jacob
@Pax : 무한한 신성 모독에 대한 :) – DVK