我遇到了一个小问题,我试图做一个快速计算。变量没有被赋值
MF = 1/N * X
,所以我写了一个小PROGRAMM这应该这样做。 我使用全局变量:
float mf = NULL;
float xCalce = NULL;
int n = NULL;
vector<float> x = {-10.2, -8.0, 0.5, 5.9, 3.5, 22.7, 15.0, -1.8, -3.1, 7.7, 11.2, 7.9, -3.3,
-1.6, 15.3, 22.6, 3.6, 5.7, 2.0, -18.2, -27.5, 23.1, 18.1, 9.7, 25.8};
我从数字的向量计算x和我使用的是forwhile循环
for (float xs : x) {
sumX(xs);
};
将其发送给这个函数:
void sumX(float &x)
{
xCalce += x;
}
哪些工作。
我想为mf做同样的事情,但我错过了一些东西,因为它没有保存到全局变量mf;
void calcMf(float x, int n) {
mf =(1/n)*(x);
}
当我打电话调试,n和x是正确的,但正如我前值表示不保存在MF?
EDIT1:加入载体中,一切在文本 EDIT2描述:加入的主要功能
int main() {
n = x.size();
//
for (float xs : x) {
sumX(xs);
};
calcMf(xCalce,n);
cout << "summ of x : " << xCalce << endl;
cout << "mf: " << mf << endl;
cout << n << endl;
}
'float mf = NULL;'最有可能不会做你认为它做的事。 – user0042
'NULL'是一个空*指针*常量。 –
您的帖子似乎缺少[mcve] –