#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
나는 이것이 http://stackoverflow.com/questions/11098626/understanding-c-0의 정확한 복제본이라고 말하지 않을 것이다. 그 중 하나는''a ''- '0'입니다. 이것은 대부분 무의미한 우연의 일치이며 문자 집합에 의존합니다. 이 질문은''0 '',''9 ''에서''0 ''을 뺀 것에 대한 것입니다. 자, 거기에있는 설명 중 일부는 일반적으로이 것에 적용 가능하지만 다른 질문입니다. – jamesdlin