我的C++程序在代碼塊中給出了正確的結果,但在visual basic 2005 express edition中給出了不正確的結果。任何人都可以請指導我做什麼我做錯了:)謝謝:) 這裏是我的程序找到使用函數的階乘。我的C++程序在代碼塊中給出了正確的結果,但在visual basic 2005 express版本中給出了不正確的結果
#include <iostream>
using namespace std;
int fact(int a)
{
if (a>1)
return a*fact(a-1);
}
int main()
{
cout<<"Enter a number to find its factorial : ";
int a;
cin>>a;
cout<<"Factorial of "<<a<<" is "<<fact(a)<<endl<<endl;
}
結果的代碼塊
Enter a number to find its factorial : 5
Factorial of 5 is 120
結果在Visual Basic 2005 Express Edition的
Enter a number to find its factorial : 5
Factorial of 5 is -96
你什麼回報,如果一個'<= 1'?哎呀。 – PaulMcKenzie
在codeblocks,使一個<= 1只是返回輸入的號碼尋找階乘,並在vb快遞2005年它給出了意想不到的結果:) – Romeo
請閱讀我的答案。問題是你沒有從應該返回一個值的函數返回一個值。無論函數做什麼,這都是未定義的行爲。 – PaulMcKenzie