今日、私はこのブログに出くわしました。私を最も惹きつけたのはこれです:
int i;
i["]<i;++i){--i;}"];
配列の添え字内の奇妙な「文字列定数」の目的はよくわかりませんが、整数変数を添え字にする方法がわかりません。だから私はこのコードを持ってきました:
#include <stdio.h>
int main(void) {
int x = 10;
printf("%d", x["\0"]); /* What is x["\0"]?! */
return 0;
}
MinGWと-Wall-ansi-pedanticを使用してエラーなしでコンパイルします。次に、このコードは105を出力します。
誰かがこれを解釈できますか?
編集:添え字内にポインターが必要であることがわかりました。そうでない場合、コンパイル時エラーが発生します。