参照外しは四則演算子よりも結合優先度が高い

たまたま見かけただけだが、ネット上で不可思議な問答に出くわした。

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail.php;_ylt=A7YWPRXdr3FTZxMA39vl_PN7?qid=11118107201

これの回答者は全員間違っているように見えるのは私の気のせいだろうか。

「ASCIIコード上で 'c' の2つ先のキャラクタが 'e' だから」が正解だと思う。


char** 型の変数 pointer に対して、**pointer + 2 が、char* 型として pointer[1] と解釈されるなんていうとんでも理論には驚かされた。

そうではなく、**pointerが先に結合され、その結果がchar型の値 'c' であり、次に結合される 'c' + 2 の結果が 'e' だから、書式指定 %c により、答えが "e" になるという話である。