【发布时间】:2017-05-05 08:01:53
【问题描述】:
#include <iostream>
using namespace std;
int main()
{
double donation[10];
int index = 0;
cout.setf(ios::fixed);
cout << "Enter sum of money for donating: ";
while (index < 10 && cin >> donation[index])
{
cout << "donation #" << 1 + index++ << ": " << donation[index] << endl;
}
return 0;
}
该代码无法显示正确的捐赠价值...
我可以检查错误是'1 + index++',但我不知道为什么。
为什么我使用 '1 + index++' 的代码与我在下一行使用 'index++' 时的代码不同。
【问题讨论】:
-
这篇文章中
1 + index++的目的是什么?你为什么不简单地使用1 + index?您的代码现在的方式,index在每次迭代中增加两次,这是问题之一。我的建议是只使用 ++ 作为单独的语句,除非您完全确定自己在做什么。 -
对不起。我的错。我修改了代码。问题是下一行是否没有'index++'。
-
您希望显示什么?您的代码对我来说似乎运行良好 - 它要求捐赠,然后立即显示它
-
当我运行该代码时,它会显示一个与输入值不同的奇怪值,就像我添加的图片一样。
-
请确保您在此处发布的代码确实会产生同样的问题。可以肯定的是,它与您用于在图像中生成输出的代码不同!也许你错过了更细微的差异