該程序僅用於將完整的二維數組傳遞給函數。我能夠通過鉤子或騙子運行該問題,但我沒有理解。我寫了一個程序,我應該寫蘇聯,我已經寫了使其工作(在評論中) 任何人都可以請解釋我這個問題?將二維數組傳遞給函數的錯誤
#include<iostream>
#include<conio.h>
void print(bool *a);
using namespace std;
int main()
{
bool arr[3][3]={1,1,1,1,0,0,0,1,1};
print(arr[0]);//**This IS working but why we need subscript 0 here only print(arr) should work?..**
getch();
return 0;
}
void print(bool *a)
{
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
cout<<*(a+i*3+j)<<"|";//**cant we use cout<<a[i][j] here??In 1 d array it is working fine**
}
cout<<"--";
}
}
但是爲什麼在1 D數組中,我們可以使用[i]來訪問數組,我們只在func中傳遞基地址?例子是#include #include void print(int * a); using namespace std; () int arr [3] = {1,2,3}; print(arr); getch(); return 0;對於(int i = 0; i <3; i ++) cout << a [i]; } } –