在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;
}
这是我使用 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;
}