Я пытаюсь изучить C ++, но каждый раз, когда я пытаюсь запустить свою программу, она закрывается, прежде чем вы увидите, что она должна показать, даже игнорируя мои инструкции cin <<. Как видите, кто-то сказал мне исправить это ...

c++
0
Krumplem_1 14 Янв 2021 в 20:08

1 ответ

Лучший ответ

если я удалю одну из двух функций в конце (cin.get () или getchar ()), она просто продолжится после первого утверждения «cin >>», игнорируя другую функцию [sic]

Очень сложно понять, что вы пытаетесь сказать, но эта часть наводит меня на мысль, что вы спрашиваете, почему только одной из этих двух функций недостаточно, чтобы не остановить вашу программу (т. Е. завершить функцию main).

Это потому, что инструкция cin >> n1; считывает из вашего потока стандартного ввода ровно столько, чтобы получить число, но она также не "съедает" новую строку. Таким образом, ваш cin.get() читает новую строку, которую не читала другая строка, а затем getchar() блокирует вашу программу, пока вы не нажмете что-нибудь еще.

3
Blindy 14 Янв 2021 в 17:15