[問題] int**當參數接收二維陣列, 執行錯誤

看板C_and_CPP作者 (風大雨大)時間12年前 (2013/06/05 06:36), 編輯推噓0(0013)
留言13則, 7人參與, 最新討論串1/1
想寫出一個10 x 10的矩陣 可以編譯 但是卻沒有東西印出來(只有return 0) 請教大家哪邊有問題 ------------ #include <iostream> using namespace std; void print_array(int **arr){ for (int i=0; i<10; ++i){ for (int j=0; j<10; ++j){ cout << arr[i][j]; } cout << endl; } } int main() { int array [10][10]; for (int i=0; i<10; ++i){ for (int j=0; j<10; ++j){ array[i][j] = i+j; } } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 46.223.211.179

06/05 07:08, , 1F
int** 和二維陣列是不一樣的東西, 改成 int arr[][10]
06/05 07:08, 1F

06/05 08:00, , 2F
沒呼叫才過編譯的
06/05 08:00, 2F

06/05 08:12, , 3F
int (*arr)[10]
06/05 08:12, 3F

06/05 10:43, , 4F
main沒有呼叫print_array嗎?
06/05 10:43, 4F

06/05 12:43, , 5F
傳2維array我應該會用一個struct裝pointer再傳struct *
06/05 12:43, 5F

06/05 12:44, , 6F
進去,或是用一維當二維用,是說這樣哪個比較好啊?
06/05 12:44, 6F

06/05 13:06, , 7F
你就直接傳二維過去就好了啊,何必轉來轉去
06/05 13:06, 7F

06/05 13:06, , 8F
void print_array(int arr[][10])
06/05 13:06, 8F

06/09 19:35, , 9F
謝謝大家 我現在來試試看
06/09 19:35, 9F

06/09 19:40, , 10F
不好意思因為私人因素忙到現在才能做:)
06/09 19:40, 10F

06/10 03:58, , 11F
我想用雙重指標寫所以才用**
06/10 03:58, 11F

06/10 03:59, , 12F
就算改成int arr[][10] 也是return 0?
06/10 03:59, 12F

06/10 07:45, , 13F
謝謝大家 我解決了:)
06/10 07:45, 13F
文章代碼(AID): #1Hhclx06 (C_and_CPP)