Сегодня я случайно написал в 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 целых числа, а на самом три остаются в буфере и мешают последующему вводу... Или слет на использовании неинициализированных переменных... Или... - словом, без реального кода говорить о чем-то - просто гадание...
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости