写个算法“e5a3f2d1”,解压后为"eeeeeaaaffd"

//写个算法“e5a3f2d1”,解压后为"eeeeeaaaffd"

//默认个数为1到9

 

//“e5a3f2d1”,解压后为"eeeeeaaaffd"
void func(char *str)
{
     if (NULL == str)
     {
              return;
     }   
    
     char *p = str;
     char *pChar = p;
     char a[100] = {'\0'};
     int iFlag = 0;   //数组下标     
     while((*p) != '\0')
     {
             //printf("%c\n",*p);
       if ( (*p)>'0' && (*p)<= '9')
       {
            int n = (*p) - '0';
            //printf("%c循环%d\n",*pChar,n);
            while (n--)
            {                 
                  a[iFlag] = *pChar;
                  iFlag++;
                  //printf("if   iFlag = %d\n",iFlag);
            }
            //printf("%s\n",a);
       }
       else
       {
           pChar = p;
           //printf("else   iFlag = %d\n",iFlag);
       }
       p++;
     }
     printf("%s\n",a);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值