評價: 0 回應: 0 閱覽: 111
置頂

沒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; 程式也是正常的
為何會這樣呢?

 

會員登入 (先登入會員才能回覆留言喔!)

Facebook留言