Как работают две последовательные команды "cin"? - PullRequest
2 голосов
/ 05 апреля 2020

Я прочитал, что cin завершается, как только видит символ новой строки или пробел, и не использует его и оставляет его во входном буфере. Поэтому между командами cin и cin.getline () мы должны добавить cin.get () для использования символа конца строки. Но если это так, как работают две команды cin? Например:

int N;
int M;
cin>>N;
cin>>M;

Как только мы берем ввод N и нажимаем ввод, в строке ввода должен остаться символ новой строки. Когда мы достигаем строки cin >> M, как это работает, учитывая, что cin должен завершаться, поскольку символ во входном потоке теперь равен «\ n».

Пожалуйста, помогите мне разрешить мою путаницу. Я был бы рад узнать, как работает ввод и вывод в C ++.

Ответы [ 2 ]

1 голос
/ 05 апреля 2020

Если вы введете 1 5 в приглашении для N, N будет назначено 1 и M будет присвоено 5. Пространства между ними просто игнорируются обоими. Если вы введете 15, тогда N будет назначено 15, и будет мигать курсор, ожидающий ввода для M

0 голосов
/ 05 апреля 2020

Любой тип пробела, используемого для разделения двух последовательных cin >> операций ввода, либо пробел, табуляция или символ новой строки, будут игнорироваться.

...