도전 과제 : x
표현식 (x == x+2)
이 참으로 평가 되는 방식으로 정의하십시오 .
질문에 C 태그를 달았지만 다른 언어의 답변은 창의적이거나 흥미로운 언어 측면을 강조하는 한 환영합니다.
C 솔루션을 수락하려고하는데 다른 언어로 투표 할 수 있습니다.
- 올바른-표준 호환 구현에서 작동합니다. 예외-기본 유형의 구현을 가정하는 경우, 일반적인 구현 인 경우 (예 :
int
32 비트 2의 보수 라고 가정 ) 괜찮습니다. - 단순-기본 언어 기능을 사용해야합니다.
- 흥미 롭습니다. 주관적입니다. 흥미로운 점에 대한 몇 가지 예가 있지만 힌트를 드리고 싶지 않습니다. 업데이트 : 전처리기를 피하는 것이 흥미 롭습니다.
- 빠름-첫 번째 정답이 수락됩니다.
60 답변을 얻은 후에 (나는 그런 예견을 예상하지 못했습니다), 요약하면 좋을 것입니다.
60 개의 답변은 7 개의 그룹으로 나뉘며 그 중 3 개는 C로 구현되고 나머지는 다른 언어로 구현 될 수 있습니다.
- C 전 처리기
#define x 2|0
제안되었지만 다른 많은 가능성이 있습니다. - 부동 소수점. 많은 수, 무한대
또는 NaN이모두 작동합니다. 포인터 산술. 거대한 구조체에 대한 포인터는 2를 추가하여 줄 바꿈합니다.
나머지는 C와 함께 작동하지 않습니다.
- 연산자 오버로딩-
+
추가하지 않거나 A==
가 항상 true를 반환합니다. - 만들기
x
함수 호출 (일부 언어가없이 허용x()
구문). 그러면 매번 다른 것을 반환 할 수 있습니다. - 1 비트 데이터 유형 그런 다음
x == x+2 (mod 2)
. - 변경
2
-일부 언어로 할당0
할 수 있습니다.
add to Set
표준 라이브러리는 + +
자체 정의를하지 않고 + )을이 7 가지 범주 IMHO에 맞지 않습니다.
4. Quick
? 당신은 "누군가를 알고이 질문을 먼저 읽을만큼 운이 좋은가?"를 의미합니까?