Сегодня я случайно написал в cin
следующее:
int h, w, r, c;
cin >> h, w, r, c;
Происходил Runtime Error. Я долго не мог разобраться в чем дело. Когда разобрался, для интереса решил сделать тоже самое в cout
.
cout << h, w, r, c;
При любых значениях он всегда выводит h
.
Вопрос: действительно ли он выводит первую переменную, и если да, почему не возникает ошибки компиляции? И почему тогда возникает Runtime в cin
?
cout << h, w, r, c;
это выражение (см. оператор запятая), которое поочередно выполняет выражения
cout << h
w
r
c
и возвращает значение последнего - с
...
Ошибка времени выполнения в случае с cin
может происходить по разным причинам - для этого нужно посмотреть код. Например, вы считаете, что введены 4 целых числа, а на самом три остаются в буфере и мешают последующему вводу... Или слет на использовании неинициализированных переменных... Или... - словом, без реального кода говорить о чем-то - просто гадание...
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
В приложении есть QListView с именем listView1, который нужно заполнить из основного кода окна - maincpp
Не могу понять как он работает, что делают cinpeek(), !(cin >> a), cin
Прекрасно компилируется в codeblocks а в Visual studio выдает