以下是我的
main()
功能:
int main()
{
int N = 4;
int A[N][N] = {
{1 , 0 , 0 , 0},
{1 , 1 , 0 , 1},
{0 , 1 , 0 , 0},
{1 , 1 , 1 , 1}
};
for (int i = 0; i < N; ++i)
{
for (int j = 0; j < N; ++j)
cout << A[i][j] << " ";
cout << "\n";
}
cout << "\n";
printSolution(N , *A);
cout << "\n";
return 0;
}
在这里,我用值声明了一个4x4数组下面给出的是printSolution,在这里我将一个指针传递给它内部的数组。
void printSolution(int N , int *sol)
{
for (int i = 0; i < N; ++i)
{
for (int j = 0; j < N; ++j)
cout << *((sol + i) + j) << " ";
cout << "\n";
}
}
输出如下:
1 0 0 0
1 1 0 1
0 1 0 0
1 1 1 1
1 0 0 0
0 0 0 1
0 0 1 1
0 1 1 0
由于它在输出中可见,主函数中的for循环正确地打印了数组,而
printSolution()
函数无法正确打印为什么会这样?