C言語が使える方にはおなじみのこのネタ。
たとえば items[10] という変数があったとき…
10[items] と書いてもコンパイルが通ります。
もちろん構文エラーも論理エラーもありません。
配列がポインタとポインタ演算で成り立っているからこそ成り立つこのネタ。つまり items[10] というのは items+10 と同じ意味なんですね。足し算は順番を入れ替えても成り立ちますから 10+items というのは正しいのです。
この点に関して、ある著名なプログラマは自身の本でこう言ったそうです。
名言ですね。
Contributions