Я думаю, что это в основном atoi с getchar. Он игнорирует начальные нечисловые символы, а затем создает целое число из строковых чисел, выходя из него, когда числовые числа заканчиваются. Сканирование, вероятно, не подходит для этого, оно должно быть Atoi () или ScanNum ()? Вероятно, не работает, когда целое число большое из-за проблем с переполнением целых чисел.
Я бы удивился, если бы это было быстрее, чем atoi (), не уверен, почему они тоже не использовали isdigit ().
В отличие от кода Калифорнийского университета, он не проверяет наличие признаков и не использует ключевое слово register.