在字符串中找出连续最长的数字串

本文介绍了一个C语言函数,用于在给定的字符串中找到最长的连续数字串,并返回其长度。同时,该函数还会将找到的最长数字串复制到指定的输出缓冲区。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

功能:在字符串中找出连续最长的数字串,并把这个串的长度返回,并把这个最长数字串付给其中一个函数参数outputstr所指内存。例如:"abcd12345ed125ss123456789"的首地址传给intputstr后,函数将返回9,outputstr所指的值为123456789
#include <stdio.h>
#include <stdlib.h>
int Findmaxlen(char *input,char *output)
{
        char *in   = input ;
        char *out  = output ;
        char *temp ;
        char *final ;
        int count = 0 , maxlen = 0 ,i;
        while(*in != '\0')
        {
                if(*in>='0'&&*in<='9')
                {
                        count = 0;
                        for(temp = in ;*in >= '0' && *in <= '9' ; in ++)
                        {
                                count ++;
                        }
                        if(maxlen<count)
                        {
                                maxlen=count;
                                final=temp;
                        }
                }
                in++;
        }
        for(i=0;i<maxlen;i++)
                *out++=*final++;
        *out='\0';
        return maxlen;
}
int main()
{
        char input[]="abc123def123456ee123456789dd";
        char output[50]={0};
        int maxlen;
        maxlen=Findmaxlen(input,output);
        printf("the str %s\n",output);
        printf("the maxlen is %d \n",maxlen);
        return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值