2015-04-22 2 views
0

Этот код Найдите сумму всех цифр, которые встречаются в строке.C++: Каково использование int ('0') в этом коде?

Пример

sumUpNumbers ("2 яблока, 12 апельсинов") = 5 // 2 + 1 + 2

Может кто-нибудь объяснить необходимость использования междунар ('0') в этом коде !?

int sumUpDigits(std::string inputString) { 

    int answer = 0; 

    for (int i = 0; i < inputString.size(); i++) { 
    if ('1' <= inputString[i] && inputString[i] <= '9') { 
     answer += int(inputString[i]) - int('0'); 
    } 
    } 

    return answer; 
} 
+0

же, как '(межд) '0'' но с C++ синтаксис – user3528438

+0

уточнить,' Int (X) 'является избыточный в этом коде. Ключевым моментом является 'inputstring [i] - '0'', который покрывается дубликатом; и есть избыточные броски. Тот, кто написал этот код, не очень хорошо знал язык. –

ответ

1

Он преобразует символ в ASCII-код, чтобы сделать номер из строки

int('9') - int('0') = 9 
+0

Почему вы использовали int ('0'), здесь здесь вздор, так как int ('9') равно 9 –

+0

@ user3289638 В моем мире 'int ('9')' равно 57 –

+0

@ user3289638 см. 'Http: // www.asciitable.com/' –

Смежные вопросы