#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