更新线路变量而不打印超过
问题描述:
for(int i=0; i<10;i++){
cout<< " I value is: "<< i;
}
如何仅在第一次后更新i的值时才打印“i value is:
”一次。 感谢您的帮助更新线路变量而不打印超过
答
cout<< " I value is:";
for(int i=0; i<10;i++) {cout<< " "<< i; }
这项工作?
更新:
假设你想在循环中,你可以尝试打印“\ b”按钮移动光标和覆盖值,例如添加一个“线程休眠”:
cout<< " I value is: ";
for(int i=0; i<10;i++) {cout<< "\b"<< i; }
但是,根据您的计算机和编译器,它可能不是你想要的结果。
最后一个例子(使用Visual Studio开发人员命令提示符测试):
#include <iostream>
#include <chrono>
#include <thread>
using namespace std;
void main()
{
cout<< " I value is: ";
for(int i=0; i<10;i++)
{
cout<< "\b"<< i;
std::this_thread::sleep_for(std::chrono::milliseconds(1000));
}
}
答
你的输出必须的for循环它打印一次,否则的范围之内。如果你把它放在循环中,它会反复打印,直到循环结束。
你想是这样的:
for(int I =0; i<1 10; i++{
perform calculations involving i;
}
cout<< " I value is: "<< i;
问题都想更新行变量不一遍又一遍打印。你的答案会一遍又一遍地打印出我的价值。 – DvixExtract
现在我明白他在问什么了,假设理想的情况是他想每秒打印一次价值并循环10次。输出应该只有1行,但最后一位数字每1秒更改一次。例如:第一个输出:“I value is:0”,5秒后,相同的输出行:“I value is:5”,9秒后,相同的输出行:“I value is:9”。查看我的更新答案以获得可能的解决方案 –