При вводе символа и интерпретируя его в тип int оно не может произвести никаких действий, поэтому программа продолжает работать со значением по-умолчанию.
А вот официальное примечание:
If extraction fails (e.g. if a letter was entered where a digit is expected), value is left unmodified and failbit is set.
Если ввод не удается (например, если была введена буква, хотя ожидается число), значение остается неизменным и устанавливается ноль.
Answers & Comments
При вводе символа и интерпретируя его в тип int оно не может произвести никаких действий, поэтому программа продолжает работать со значением по-умолчанию.
А вот официальное примечание:
If extraction fails (e.g. if a letter was entered where a digit is expected), value is left unmodified and failbit is set.
Если ввод не удается (например, если была введена буква, хотя ожидается число), значение остается неизменным и устанавливается ноль.