2015-04-22 289 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 /' –