#include <stdio.h>
int main()
{
char a[] = "hello";
char *ptr = a;
printf ("%c\n",*ptr++);//it prints character 'h'.
printf ("%c\n",*ptr);//it prints character 'e'.
return 0;
}
私が理解しているように:上記のコードでは、*ptr++式では*との両方++が同じ優先順位を持ち、操作は右から左に行われます。つまり、ポインターが最初にインクリメントされ、次に参照が行われます。したがって'e'、最初のprintfステートメントの文字を出力する必要があります。そうではありません。
だから私の質問は次のとおりです。最初のステートメント*ptr++でその場所を逆参照していない場合、インクリメントされた値をどこに保存しますか?printf