次のプログラム:
int main( )
{
static char s[25]="The cocaine man";
int i=0;
char ch;
ch=s[++i];
printf("%c",ch);
ch=s[i++];
printf("%c",ch);
ch=i++[s];
printf("%c",ch);
ch=++i[s];
printf("%c",ch);
return 0;
}
プログラムの出力は次のとおりです。
へぇ!
はhhe
問題ありませんが、「!」出力で私を混乱させます.ステートメントch=++i[s]
はこれに責任があります. 次のように解釈する必要があります。
ch=*(s+++i);
接頭辞のインクリメントにより i が 4 になり、それを使用して 'c' を取得しましたが、'!',私はそれを取得できず、さらにこの操作の後、確認するために 'i' の値を出力しましたが、3 ではなく 4 でした. 何が問題なのですか?