-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