В C++ их будет любая ошибка, если мы введем целое число, содержащее ведущие zereos.
Возможно, вы не получите то, что ожидаете, в зависимости от настроек флагов формата входного потока. По умолчанию предполагается, что пользовательский ввод всегда будет десятичным. Ведущие нули не влияют. Что, если мы отключим это, позвонив std::cin.unsetf()
?
int main() {
int i;
std::cin.unsetf (std::ios::dec);
while (std::cin >> ii) {
std::cout << i << "\n";
}
}
Выход будет 25, если ввести 25, но если ввести 025 выход 21. Это потому, что C++ в настоящее время интерпретирует ведущий ноль на входе означает число, которое следует в восьмеричном виде (или в шестнадцатеричном в случае ведущего 0x или ведущего 0X).
Я не вижу трудностей в его попытке. – chris
Вам нужно сохранить ведущие нули? – jxh
Я попытался и кажется, что therir не является ошибкой, но просто хотел проверить – user1484638