[問題] 沒return為何function會回傳值?
使用 DevC++
輸入1234 得到1+2+3+4
#include <iostream>
#include <cstdlib>
using namespace std;
int Test(int);
int main() {
int a;
cout <<"Enter your number: ";
cin >>a;
cout <<"Answer is "<<Test(a)<<endl;
system("Pause");
return 0;
}
int Test(int b) {
int sum;
if (b/10 >=1) {
int c = b%10;
sum = c+Test(b/10);
}
else
return b;
//return sum;
}
我是用遞迴寫,用餘數的方式去各別取輸入的值
問題是,我在function裡並沒有實際回傳最後總和值sum
可是程式卻可正常執行無任何警告錯誤?
當然我最後加上 return sum; 程式也是正常的
為何會這樣呢?
謝謝各位!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.134.45.104
※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1402840934.A.C63.html
※ 編輯: bizza (220.134.45.104), 06/15/2014 22:03:05
→
06/15 22:19, , 1F
06/15 22:19, 1F
→
06/15 22:20, , 2F
06/15 22:20, 2F
推
06/15 22:30, , 3F
06/15 22:30, 3F
→
06/15 22:41, , 4F
06/15 22:41, 4F
推
06/15 23:01, , 5F
06/15 23:01, 5F
→
06/15 23:01, , 6F
06/15 23:01, 6F
→
06/15 23:27, , 7F
06/15 23:27, 7F
推
06/16 01:34, , 8F
06/16 01:34, 8F
→
06/16 01:35, , 9F
06/16 01:35, 9F
→
06/16 08:32, , 10F
06/16 08:32, 10F
推
06/16 09:32, , 11F
06/16 09:32, 11F
→
06/16 12:51, , 12F
06/16 12:51, 12F
→
06/16 12:51, , 13F
06/16 12:51, 13F
→
06/16 20:02, , 14F
06/16 20:02, 14F
→
06/16 20:03, , 15F
06/16 20:03, 15F
→
06/16 20:04, , 16F
06/16 20:04, 16F
→
06/16 23:21, , 17F
06/16 23:21, 17F
→
06/16 23:21, , 18F
06/16 23:21, 18F
推
07/04 10:12, , 19F
07/04 10:12, 19F