int my_array[] = {1,23,17,4,-5,100};
int *ptr;
int i;
ptr = &my_array[0]; /* point our pointer to the first
element of the array */
printf("\n\nptr = %d\n\n", *ptr);
for (i = 0; i < 6; i++)
{
printf("my_array[%d] = %d ",i,my_array[i]); /*<-- A */
printf("my_array[%d] = %d\n",i, *(ptr++)); /*<-- B */
}
Почему это отображает одно и то же для строк a и b?Он просто отображает все значения в my_array в порядке (1, 23, 17, 4, -5, 100).Почему '++' в строке B не указывает ptr на следующий элемент массива до его разыменования?Даже если вы измените эту строку на
printf("ptr + %d = %d\n",i, *ptr++); /*<-- B */
, вывод останется прежним.Почему это?