作者dendrobium (石斛蘭)
看板C_and_CPP
標題Re: [問題] 不知道問題出在哪
時間Sun Aug 23 20:34:33 2009
※ 引述《NOtWorThy (想念物理的資工人)》之銘言:
第一個問題
: int * multi_hight(int n, int *array){
: int t[25];
^^^^^^^^^ local space in stack
: for(int k = 0; k < 25; k++){
: t[k] = array[k];
: }
: while(n > 0){
: int *t = add(array, t);
: n--;
: }
: return t;
^^^^^^^^^ 然後你回傳t
: }
第二個問題
: int * multi_hight(int n, int *array){
: int t[25];
: for(int k = 0; k < 25; k++){
: t[k] = array[k];
: }
: while(n > 0){
: int *t = add(array, t);
^^^^^^^^^^^^^^^^^^^^^^
這裡將t當作引數丟到add 並用其回傳值來初始化int *t
問題就在於代進去的t 其實是那個還沒初始化的t
(也就是int *t, 非上面的 int t[25])
所以犯了第三點
: n--;
: }
: return t;
: }
: 這是要做一個64bits加法的問題
: 我compile有過但是run完有問題
: 程式經驗不足 找不出問題 ><"
: 煩請各位先進不吝次教~
: 感謝~
演算法的部份我沒看 另外其他function也有類似的問題
請多指教
我是想念資工的數學人
--
http://www.plurk.com/dendrobium/invite
碎嘴......
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.31.131.126
※ 編輯: dendrobium 來自: 61.31.131.126 (08/23 20:39)
推 Arim:版上很多是數學出身的XD 08/23 21:14
→ dendrobium:※引述《NOtWorThy(想念物理的資工人)》之銘言: <= XD 08/23 22:10
推 NOtWorThy:感謝!! 08/24 18:07