operator>>
прекращает чтение, когда встречает символ, который не вписывается в тип данных для чтения.
В этом случае ваш первый вызов operator>>
читает в int A
, поэтому он читает символ '9'
, а затем прекращает чтение, когда встречает не-ди git '/'
символ. Символ '/'
остается во входном потоке.
Затем ваш второй вызов operator>>
пытается прочитать в int B
, но вместо символа '8'
он читает символ '/'
, поэтому чтение завершается неудачно, поскольку '/'
не является ди git.
Вам необходимо игнорировать '/'
, чтобы прочитать символ '8'
, например:
#include <iostream>
using namespace std;
int main(){
int A, B;
char ignore;
cin >> A >> ignore >> B;
}
Или:
#include <iostream>
#include <iomanip>
using namespace std;
int main(){
int A, B;
cin >> A >> ws;
cin.ignore();
cin >> B;
}