C言語における役に立たない知識を教えます!!

C言語はシステム開発言語として役に立つ。
そんなC言語の「まったく」役に立たない知識を教えます!!(いらんか・・・。)

いきなり問題:
以下のプログラムはC言語の構文として正しい。(正しく実行できる。)
さて,値5を代入している行があるが,これは,一体どこに入っているのか?

#include <stdio.h>

int main(int ac, char **av)
{
int a[2] = {1,2};
int b[3] = {0,1,2};

((3-2)[a]-2)[b] = 5; /* ←この5は,どこに代入されるのか? */

return 0;
}

答えと解説は後日・・・。

comments

コメントを残す