[問題] 關於字串指標陣列...

看板C_and_CPP (C/C++)作者 (paris)時間16年前 (2009/12/31 11:33), 編輯推噓2(202)
留言4則, 3人參與, 最新討論串1/1
現在目的是想要將字串指標陣列傳入函數 並在函數中列印出來 #include<stdio.h> #include<stdlib.h> #include<assert.h> void name(char *); int main(void) { char *array[3]={"lee","lu","wang"}; name(*array); system("pause"); return 0; } void name(char *array) { for(int i=0;i<3;i++) printf("%s",array+i); } 首先碰到第一個問題是... 在main中的name(*array)函數中所要設的參數問題 實在是很少遇到是這樣傳指標進去的... 設成這樣之後就可以compile過 但是在name function中 碰到第二個問題... 要如何印出 lee lu wang這三個字串阿~~~??? 不知道printf中要怎麼填呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 124.9.4.125

12/31 11:51, , 1F
想成array 的內容也是(字串)指標
12/31 11:51, 1F

12/31 13:08, , 2F
你的函數引數只能傳一個字串 要改成char **array
12/31 13:08, 2F

12/31 13:09, , 3F
用name(array);呼叫 所以printf要改成*(array + i)
12/31 13:09, 3F

12/31 13:21, , 4F
就是樓上大大說的雙重指標~
12/31 13:21, 4F
文章代碼(AID): #1BF1kQLx (C_and_CPP)
文章代碼(AID): #1BF1kQLx (C_and_CPP)