如何从字符串中获取数字

bhenf:45678536947851369478(胜利) 如何用c语言实现从这个字符串中获取数字

每次读取一个字符,然后判断是不是数字呀,你是哪个不会吗?

#include<stdio.h>
#include<string.h>
int main()
{
    char s1[] = "bhenf:45678536947851369478(胜利) ";
    // gets(s1); //如果要用户输入字符串加上这行
    int len = strlen(s1);
    char s2[100];
    int index = 0;
    for(int i=0;i<len;i++)
        if (s1[i]>='0' && s1[i]<='9'){
            s2[index++] = s1[i];
        }
    printf("%s",s2);
    return 0;
}

 

 


#include <stdio.h>

int main()
{
    char* s = "bhenf:45678536947851369478(胜利)";
    int n = 0;
    while (*s)
    {
        if (*s >= '0' && *s <= '9')
            n += *s - '0';
        ++s;
    }

    printf("Sum of digits: %d\n", n);
    return 0;
}

// Output
Sum of digits: 115  

如果满意我的回答,我会感谢你采纳我的回答。:)

希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10581430.html
希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10768339.html
 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y