【发布时间】:2015-10-17 14:38:54
【问题描述】:
#include <stdio.h>
int main()
{
int a[][3] = {1, 2, 3, 4, 5, 6};
int (*ptr)[3] = a;
printf("%d %d \n ", (*ptr)[1], (*ptr)[2]);
++ptr;
printf("%d %d\n", (*ptr)[1], (*ptr)[2]);
ptr++;
printf("%d %d\n", (*ptr)[1], (*ptr)[2]);
return 0;
}
谁能解释为什么在第一个 printf 中, (*ptr)[1],(*ptr)[2] 给出 2,3 作为输出?
(*ptr)[1] 输出不应该是 4 而(*ptr)[2] 输出应该是 0 吗?
这是否意味着(*ptr)[1] 等于ptr[0][1] 和
(*ptr)[2] 是指ptr[0][2]?
【问题讨论】:
标签: c