康康这题哪里错了,字符串求数字和

用字符串求各个位数上数字和
#include<stdio.h>
int main()
{
int a,e;
e=getchar();
int sum=0;
while(e>=1)
{
a=e%10;
e/=10;
sum+=a;

}
printf("%d",sum);

return 0;

}

供参考:

#include<stdio.h>
#include<ctype.h>
int main()
{
    int  sum = 0;
    char e;
    while ((e = getchar()) != '\n')
    {
        if(isdigit(e))
            sum += e - '0';
    }
    printf("%d", sum);
    return 0;
}

你都说了是字符串了,是不是应该把字符先转成整型数字。

getchar只能存一个字符



```c++
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
    string str;
    while(cin>>str)
    {
        int strLen = str.length();
        int sum = 0;
        for (int i = 0; i < strLen ; i++)
        {
            sum += str[i] - '0';
        }
        cout<<sum<<endl;
    }
    return 0;
}

```