這裏是我的代碼,當main()中的確切代碼產生正確的答案時,我無法弄清楚爲什麼它不起作用。分配是將二進制數轉換爲十進制數。C++函數沒有返回值
#include <iostream>
#include <cstdlib>
#include "std_lib_facilities.h"
using namespace std;
int binaryCon(int biNum);
int main()
{
int num, bin, Bnum;
cout << "Enter the binary number(1s and 0s) : ";
cin >> num;
bin = num;
Bnum = binaryCon(num);
cout << "The decimal equivalent of " << bin << " : " << Bnum << endl;
}
int binaryCon(int biNum)
{
long dec = 0, rem = 0, base = 1;
enter code here`while (biNum > 0)
rem = biNum % 10;
dec = dec + rem * base;
base = base * 2;
biNum = biNum/10;
return biNum;
}
我不熟悉visual-C++,但我的猜測是你需要移動binaryCon()之前比main()函數。 – TimeString 2015-04-01 04:58:02
@TimeString有一個前向聲明,所以這不是問題。問題出在代碼中。 – 2015-04-01 04:59:19
它應該返回的東西。它返回什麼價值?你在while循環中不使用''''''。它的循環無限。 – Himanshu 2015-04-01 04:59:29