#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