西风静雨
2015-06-27 23:59
采纳率: 100%
浏览 1.8k
已采纳

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

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

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • zhaoyongCNSX 2015-06-28 05:06
    已采纳

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

    已采纳该答案
    打赏 评论
  • Miner_Sty 2015-06-28 01:05

    是这样么?也不知道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;
    } 
    
    打赏 评论
  • kepheus 2015-06-28 01:14

    #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;
    

    }

    打赏 评论
  • kepheus 2015-06-28 01:19

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

    打赏 评论

相关推荐 更多相似问题