【发布时间】:2015-06-02 08:01:41
【问题描述】:
我试图通过将二维数组传递给函数来打印它,但结果很奇怪。这是我的代码。
#include <stdio.h>
int main()
{
int b[2][3] = {{1,2,3},{4,5,6}};
printArray(b);
return 0;
}
void printArray(int (*ptr)[3])
{
int i, j;
for(i = 0; i < 2; i++)
{
for(j = 0; j < 3; j++)
{
printf("%d\t", *((*ptr+i)+j));
}
printf("\n");
}
}
但是,输出是
1 2 3
2 3 4
我认为这与我的“j”变量有关,但我似乎无法确定它。请帮忙。
【问题讨论】:
标签: c function pointers memory-address