你可能已经在很多地方看到过"正在加载...... " 3点(或更多)的地方,即" ...",首先逐个出现,然后在显示所有点后,它们消失并再一次出现(因此,总共2次)并退出。
详细说明: -
第1阶段:
装载。
第二阶段:
中..
第3阶段:
加载...
然后,它重复第二次,之后终止!
所以,为此,我准备了一个C ++程序,其源代码是:
#include <iostream.h>
#include <time.h>
#include<dos.h>
int main()
{
cout << "Loading";
cout.flush();
for (;;) {
for (int i = 0; i < 3; i++) {
cout << ".";
cout.flush();
sleep(1);
}
cout << "\b\b\b \b\b\b";
}
return 0;
}
此程序未终止。它没有停止!如何编辑它以使其终止?
请发布 Turbo C ++编译器支持的代码,因为我对ANSI C ++并不太了解!! :P
注意:这不是一个重复的问题,所以不要把它标记为重复!!!
先谢谢! :)
答案 0 :(得分:1)
它重复第二次,然后终止
为了做到这一点,你不需要在程序的某处2
吗?
也许在for (;;)
的某个地方?与您计划中的其他for
类似......
一些修辞问题:
for (;;)
的作用是什么?答案 1 :(得分:0)
你写了for(;;)
。为什么会终止?它是一个无限循环。
如果您希望外循环仅运行2次,为什么不for(int j = 0; j < 2; ++j){other loop}
答案 2 :(得分:0)
#include <iostream.h>
#include <time.h>
#include<dos.h>
int main()
{
cout << "Loading";
cout.flush();
//The outer "for" didn't stop in your case, use this:
for (int iterations = 0; iterations < 2; ++iterations) {
for (int i = 0; i < 3; i++) {
cout << ".";
cout.flush();
sleep(1);
}
cout << "\b\b\b \b\b\b";
}
return 0;
}
答案 3 :(得分:0)
您至少有两个选择:
将for(;;)
替换为
for(int j=0; j < 2; ++j)
{
/*inner loop here*/
}
按原样保留for(;;)
,但请执行以下操作:
int loopcount = 0;
for(;;) /* your loop */
{
/* add this after inner loop */
++loopcount;
if(loopcount > 1)
break;
}