#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'' из ''0'' ..' '9'', который, я считаю, четко определен. Теперь верно, что некоторые объяснения там, как правило, применимы к этому, но они разные вопросы. – jamesdlin