-2
我的代碼沒有返回double值z,而是隻返回1,找不到原因。 //(它看起來像你的文章大多是代碼,請添加一些更詳細)C++,函數不返回雙
#include <iostream>
#include <fstream>
using namespace std;
double road(int s, int v, int max)
{
double t;
t = (s/v);
return t;
}
int main()
{
int s[2]={0};
int v[2]={0};
int max;
double z; // result of function
ifstream fd;
fd.open("u1.txt");
fd >> max;
for (int i = 0; i < 2; i++)
{
fd >> s[i] >> v[i];
z = road(s[i], v[i], max);
cout << z << " ";
}
fd.close();
return 0;
}
你的函數*不會*返回一個'double'。你可以說因爲你聲明瞭它的返回類型是'double'。 –
「s/v」表達式的計算結果爲「int」。無論你將它分配給雙精度型,它仍然是一個「int」! –
得到了想法,改變了雙道(int s,int v,int max)到雙重道路(double s,double v,int max),謝謝你們 – ParanoidParrot