C语言 指针指向字符串的问题

用指针指向字符串的方法 求出字符串中所有数字字符的和,我是初学者对这个很模糊,希望能仔细讲解一哈

首先就是判断遍历这个字符串,如果该字符是数字字符,则统计。 判断是否为数字字符: ch <=‘0’ && ch>='9' 也可以使用库函数isdigit() 求和的话: num += ch+‘0’

是这样么?也不知道LZ是不是这个意思

#include <cstring>
#include <cstdio>

int main() {
    char str[] = "0123456789";
    char *str1 = str;
    char *ptr = str1;
    int sum = 0;
    while (*ptr) {
        sum += (*ptr - '0');
        ++ptr;
    }
    printf ("%d\n", sum);
    return 0;
} 

#include
#include

int main()
{
char *pstr = "sdfjl12321lsdjfsldfj888sdf";//定义字符串指针并初始化
int len = strlen(pstr);//计算字符串长度
int i = 0, j = 0;
int sum = 0;
for(i = 0; i < len; i++)//遍历指针字符
{
if(isdigit(pstr[i]))//数字字符判断
{
if(j==0)
printf("%c", pstr[i]);
else
printf("+%c", pstr[i]);
sum += (pstr[i]-'0');//计算和
j++;
}

}
printf("=%d\n", sum);
return 0;

}

倒数第一个printf上面的“}”去掉