2015-04-22 285 views
0

此代码查找字符串中所有数字的总和。C++:这段代码中int('0')的用法是什么?

sumUpNumbers( “2个苹果,桔子12”)= 5 // 2 + 1 + 2

任何人都可以解释为使用int需要( '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

相同'(int)的'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 /' –