gpt4 book ai didi

c++ - 第一个 cout 语句末尾的空格显示在第二个 cout 的开头

转载 作者:行者123 更新时间:2023-11-30 04:44:19 27 4
gpt4 key购买 nike

有一些 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;
}

这是输出:

Screenshot of the output

最佳答案

那里没有空间,至少有一个可以复制,如截图所示。正如@LightnessRacesInOrbit 评论的那样:冲洗周期取决于实现,因此我们可以预期再现性会有所不同。


您的代码的真正问​​题:

您有两个名为 i 的变量:一个在 for 循环外,一个在 for 循环内。

因此,for 循环使用其中声明的 i,并按预期运行。

但是,这里:

cout << "Done now that i = " << i << "\n";

您正在打印一个未初始化的变量i

如果您已发现问题,强烈提示您阅读编译器发出的警告,如下所示:

enter image description here

另请注意,当您完成时打印出 i 的垃圾值,这是您的代码中出现错误的主要迹象。

一个简单的解决方法是改变这个:

for (int i = limit; i; i--)

为此:

for (i = limit; i; i--)

然后输出的最后一行将是这样的:

Done now that i = 0

关于c++ - 第一个 cout 语句末尾的空格显示在第二个 cout 的开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57842515/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com