在for循环中打印一个变量,C++

Printing a variable inside for loop, C++

这是我使用 class cosmology.xi_DM 计算 xi 的代码的一部分。 我是 C++ 的新手,所以请多多包涵!

double redshift = 0.75;
  string method = "CAMB";
  vector<double> r = {1., 2.};

  double xi = 0.;
  for (int i=0; i<r.size(); i++)
    xi = cosmology.xi_DM(r[i], method, redshift);

    cout << "xi_DM(z=" << redshift << ") = " << xi << endl;

但是,当我 print 它时,我只得到 r = 2.xi 的值。它不会为 r = 1.. 打印 xi 为什么会这样?

你漏掉了括号:

for (int i=0; i<r.size(); i++)
{
    xi = cosmology.xi_DM(r[i], method, redshift);

    cout << "xi_DM(z=" << redshift << ") = " << xi << endl;
}

您的 cout << ... 指令 不在 循环中。

试试这个:

for (int i=0; i<r.size(); i++)
{
    xi = cosmology.xi_DM(r[i], method, redshift);

    cout << "xi_DM(z=" << redshift << ") = " << xi << endl;
}