artemohanjanyan's blog

By artemohanjanyan, 11 years ago, In Russian
#include <iostream>                                                             

using namespace std;

int main()
{
   cout << 1;
   while (true);
   return 0;
}

Есть такой код. По идее он должен вывести 1 и зависнуть, но он просто зависает, единица не выводится. Перевод строки, cout.flush() и много чего еще решают эту проблему, но всё же интересно, почему так происходит. printf точно так же ничего не выводит.

Проблема возникла во время последнего контеста. Я долго висел над B, C прочел за 20 минут до конца и начал лихорадочно кодить. Программа зависала, и я добавил вывод отладочной информации. До конца раунда думал, что програма виснет при считывании последнего элемента массива.

  • Vote: I like it
  • +3
  • Vote: I do not like it