[問題] c++以指標方式傳入一維陣列至副函式

看板C_and_CPP作者 (YZC)時間12年前 (2013/06/30 15:32), 編輯推噓2(205)
留言7則, 5人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) dev-c++ 問題(Question): 要將一維陣列以指標方式傳入副函式,但是我無法呼叫函式 不知道原因 程式碼(Code):(請善用置底文網頁, 記得排版) #include <iostream> #include <cstdlib> using namespace std; void good(int *,int *); void good(int *a,int *b) { int i; for(i=0;i<*b;i++) { if(*a==*(a+i)) cout<<*a<<" "; return; } } int main(void) { int i,n; int p,q,temp; int arr[9]={0,0,9,8,7,6,2,9,6}; n=(sizeof arr)/4; for(p=0;p<n;p++) { for(q=p+1;q<n;q++) { if(arr[q]<arr[p]) { temp=arr[p]; arr[p]=arr[q]; arr[q]=temp; }}} cout<<"一維陣列為"<<endl; for(i=0;i<n;i++) { cout<<arr[i]<<" "; } cout<<endl; cout<<"一維陣列中有"<<n<<"個數字"<<endl; cout<<"重複數字為"; good(arr,n); system("pause"); return 0; } 補充說明(Supplement): 原本題目是 將一維陣列跟陣列大小兩個參數以指標方式傳入副函式 最後顯現重複的數字以及去除重複數字後且依大小排序的數列 我的問題主要是卡在不知道如何以指標傳入陣列並且呼叫副函式 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 101.3.40.164

06/30 15:53, , 1F
傳陣列不用指標,直接傳就好
06/30 15:53, 1F

06/30 16:02, , 2F
06/30 16:02, 2F

06/30 16:13, , 3F
不用指標的我會寫 我不懂得是我這樣寫問題在哪裡?
06/30 16:13, 3F

06/30 16:23, , 4F
n不是指標
06/30 16:23, 4F

06/30 16:23, , 5F
good(arr, &n); 這樣?
06/30 16:23, 5F

06/30 17:15, , 6F
懂了 感謝各位指導
06/30 17:15, 6F

07/01 21:01, , 7F
或是用int b即可
07/01 21:01, 7F
文章代碼(AID): #1HpzyEm0 (C_and_CPP)