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 */
}
Run Code Online (Sandbox Code Playgroud)
为什么这对a和b线都显示相同的东西?它只是按顺序显示my_array中的所有值(1,23,17,4,-5,100).为什么B行中的'++'在取消引用之前没有将ptr指向数组的下一个元素?即使您将该行更改为
printf("ptr + %d = %d\n",i, *ptr++); /*<-- B */
Run Code Online (Sandbox Code Playgroud)
输出是一样的.为什么是这样?
归档时间: |
|
查看次数: |
3346 次 |
最近记录: |