我想通過將它傳遞給一個函數來打印一個二維數組,但我得到了奇怪的結果。這是我的代碼。C傳遞2D數組到函數,打印結果
#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」變量,但我似乎無法找出它。請幫忙。
感謝您的好解釋! – mib1413456