сначала я использовал этот код:
void pause(long n)
{
clock_t at=clock();
while(clock()-at<=n)
;
}
int main()
{
cout<<1;
pause(100000);
cout<<2;
}
что вы ожидаете? вывод будет 1 (некоторый промежуток времени) 2, верно? НЕТ..!! его (какой-то промежуток времени)12 как?? В любом случае, я изменил функцию паузы следующим образом:
void pause(long n)
{
for(long i=1; i<=n*n; i++)
;
}
Все то же самое..!! почему этот пустой цикл выполняется первым?? но если я сделаю это
void pause(long n)
{
for(long i=1; i<=n*n; i++)
cout<<0 ;
}
Теперь он с радостью выполняет вывод как 10000000000....(много нулей)....00002
cout << 1;
не очищает выходной буфер. Попробуйте добавитьcout << std::flush;
. Илиcout.flush()
- person Captain Giraffe   schedule 06.11.2016