#include<stdio.h>
void main()
{
char ***p="hello";
printf("%c",++*p++);
}
(*)間接演算子がここで3回使用された理由がわかりません。
このプログラムをコンパイルすると、出力は「j」でした。しかし、実際には、pが文字の配列へのポインタへのポインタであると聞きます。次に、なぜ出力をjとして取得するのですか。私はこれの背後にある論理が何であるかを理解していませんでした。この背後にある実際のロジックを理解するのを手伝ってください。
そして、間接演算子を1つだけ使用してプログラムをコンパイルすると、混乱がさらに増します。その場合、出力はi.meansになります。
void main()
{
char *p="hello";
printf("%c",++*p++);
}