(x ==x+2) はいつ?

Fortran IV:

2=0

この後、プログラム内の定数 2 はすべてゼロになります。私を信じてください、私はこれをやったことがあります (OK、25 年前)


これはうまくいくようです:

#define x 2|0

基本的には (2|0 == 2|(0+2)) に展開します .これは、マクロを定義するときに括弧を使用する必要がある理由の良い例です。


ブレインファック

x

Brainfuck では実際には何も 評価 しないため、これはもちろん「true に評価」を少し拡張します。 何にでも – テープを操作するだけです。しかし、式を追加すると

x
(x == x+2)

プログラムは

と同等です
+

(<>+-[],. 以外のすべてのため はコメントです)。これは、現在の値をインクリメントするだけです。テープはすべてゼロで初期化されるため、カーソル位置が 1 になります。これは「true」を意味します:[] で条件セクションを開始した場合 、それは入る/ループします。