有一些cout
语句,但是第一条cout
语句末尾的空格显示在第二条cout
语句的开头。这是代码:
#include <iostream>
int main()
{
using namespace std;
cout << "Enter the starting countdown value: ";
int limit;
cin >> limit;
int i;
for (int i = limit; i; i--)
{
cout << "i = " << i << "\n";
}
cout << "Done now that i = " << i << "\n";
return 0;
}
这是输出:
答案 0 :(得分:1)
那里没有空间,至少可以复制一个空间,如屏幕截图所示。正如@LightnessRacesInOrbit所说:刷新周期取决于实现,因此我们可以预期可重复性会有所不同。
您有两个名为i
的变量:一个在外部,一个在for循环内部。
结果,for循环使用其中声明的i
并按预期方式运行。
但是,在这里:
cout << "Done now that i = " << i << "\n";
您正在打印未初始化的变量i
。
一个很明显的提示,您应该发现阅读编译器发出的警告,如下所示:
还要注意完成后会打印i
的垃圾值,这主要表明代码中有问题。
一个简单的解决方法是更改此内容:
for (int i = limit; i; i--)
对此:
for (i = limit; i; i--)
,然后输出的最后一行是这样:
现在完成,我= 0