关注
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#define N 1024
typedef unsigned int __u32;
char *decode(const char *src)
{
const char *pnumb = src;
const char *pchar = src;
__u32 chartoint;
__u32 offset;
char *cdest;
char *res;
res = (char *)malloc(sizeof(char) * N);
if (!res)
{
/* code */
printf("allocate memory failed!.\n");
exit(1);
}
*res = '\0';
while(*pchar){
if (isalpha(*pchar))
{
/* code */
pnumb = pchar;
while(!isdigit(*pnumb))
{
pnumb++;
}
offset = pnumb - pchar;
chartoint = (int)(*pnumb - '0');
while(chartoint)
{
cdest = (char *)malloc((offset + 1)*sizeof(char));
if (!res)
{
/* code */
printf("allocate memory failed!.\n");
exit(1);
}
strncpy(cdest, pchar, offset);
*(cdest + offset) = '\0';
strcat(res, cdest);
free(cdest);
chartoint--;
}
}
pchar = pnumb + 1;
}
return res;
}
int main(int argc, char const *argv[])
{
/* code */
char *res;
char str[] = "a2bc3d1";
res = decode(str);
if (!res)
{
/* code */
printf("decrypt error!.\n");
goto end;
}
printf("After decrypt, the result is: %s\n", res);
free(res);
end:
return 0;
}
查看原帖
点赞 评论
相关推荐
06-13 11:12
长沙理工大学 Web前端 点赞 评论 收藏
分享
06-11 18:05
集美大学 Web前端 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 职场捅娄子大赛 #
377943次浏览 3848人参与
# 工作中的卑微时刻 #
12478次浏览 71人参与
# 写给毕业5年后的自己 #
14210次浏览 246人参与
# 多益网络工作体验 #
45568次浏览 237人参与
# 实习最想跑路的瞬间 #
1046次浏览 12人参与
# 机械人,你拿到几个offer啦 #
35051次浏览 303人参与
# 比亚迪求职进展汇总 #
718746次浏览 3079人参与
# 你觉得材料专业有必要实习嘛 #
12987次浏览 59人参与
# 你的房租占工资的比例是多少? #
31665次浏览 411人参与
# 神州信息工作体验 #
10301次浏览 47人参与
# 找实习你看重大厂光环还是业务方向 #
15704次浏览 117人参与
# lastday知无不言 #
53436次浏览 443人参与
# 机械人,说说你的烦心事 #
66813次浏览 832人参与
# 材料专业就业可以去哪些企业岗位 #
33711次浏览 320人参与
# 你最满意的offer薪资是哪家公司? #
28866次浏览 159人参与
# 产品实习,你更倾向大公司or小公司 #
151817次浏览 1935人参与
# 工作经验重要还是工资重要? #
131944次浏览 1005人参与
# 听到哪句话就代表面试稳了or挂了? #
167896次浏览 1357人参与
# 硬件人秋招的第一个offer #
73115次浏览 1120人参与
# 打工人的辛酸 #
40899次浏览 422人参与