看板 C_and_CPP 關於我們 聯絡資訊
我再練習用devc++寫一個取代數字的程式,但跑到最後就怪怪的 好像是後面的函式有壯況,但又不曉得在哪,前輩可以幫忙指點 一下嗎,還是新手,很多地方不夠專業,有什麼細節可以注意的 再麻煩各位提醒~ #include<iostream> using namespace std; void show(int*,int); void rep(int re,int *sco,int,int); int main(){ int size,re,want; int sco[]={89,54,78,89}; size=sizeof(sco)/sizeof(sco[0]); show(sco,size); cout<<"enter one number to be replace"; cin>>re; cout<<"enter one number you want"; cin>>want; rep(re,sco,size,want); show(sco,size); return 0; } void show(int*sco,int size){ int *t; t=sco; for(int i=0;i<=(size-1);i++) cout<<*(t+i)<<"\t"; } void rep(int re,int *sco,int size,int want){ int *t; sco=t; for(int i=0;i<=(size-1);i++) if(re==*(t+i)) *(t+i)=want; } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 120.107.188.16 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1449116523.A.180.html
springman: rep 裡面那行 sco = t; 是做什麼呢? 12/03 12:28
a2318aa: 不好意思,應該把下面的改成 if(re==*(t+i)) 12/03 12:34
a2318aa: 我是想將位子改成指標變數的形式 12/03 12:36
※ 編輯: a2318aa (120.107.188.16), 12/03/2015 12:39:03
springman: 可是這樣應該是 t=sco; 才對,像您前面寫的。 12/03 12:55
a2318aa: 謝謝,這樣的確就可以跑了 12/03 13:31