#include <iostream> // cin, cout
using namespace std;
int main(void)
{
char c[80];
int i, sum=0;
cin.getline(c,80);
for(i=0; c[i]; i++) // c[i] != '\0'
if('0'<=c[i] && c[i]<='9') sum += c[i]-'0';
cout<< "Sum of digits = " << sum << endl;
getchar();
getchar();
return 0;
}
我明白一切接受總和+ = c [i] - '0';我刪除了「-'0'」,但沒有給我正確的答案。爲什麼是這樣?有人可以解釋「 - '0'」
看看ASCII表格,你會發現一些有用的東西。 – billz 2013-03-20 09:35:32
我不會說這是http://stackoverflow.com/questions/11098626/understanding-c-0的確切副本。那個是關於''a' - '0'的,這大部分都是無意義的巧合,並且是與字符集相關的。這個問題是關於從「0」減去「0」,我相信它是明確定義的。現在,其中一些解釋通常適用於這一個,但他們是不同的問題。 – jamesdlin 2013-03-20 10:25:31