6-6 字符串 - 11. 子串* (10 分)

6-6 字符串 - 11. 子串* (10 分)
请编写函数,求子串。

函数原型
// 子串
char* StrMid(char *dst, const char *src, int start, int len);
说明:函数取源串 src 下标 start 处开始的 len 个字符,保存到目的串 dst 中,函数值为 dst。

要求:函数能容错运行 —— 若 len 值不正确,则自动修正。若 start 值不正确,则目的串为空串。

裁判程序
#include

// 子串
char* StrMid(char *dst, const char *src, int start, int len);

int main()
{
char a[1024], b[1024];
int s, n;
gets(a);
scanf("%d%d", &s, &n);
StrMid(b, a, s, n);
puts(b);
return 0;
}

/* 你提交的代码将被嵌在这里 */
输入样例1
abcd
1 2
输出样例1
bc
输入样例2
abcd
1 5 (注:按3处理)
输出样例2
bcd
输入样例3
abcd
-5 2
输出样例3
(注:空串)

char* StrMid(char *dst, const char *src, int start, int len)
{
    int i=0,j=0;
    char str[2001];
    if(len<0)
        len=0;
    if(start <0||start > strlen(src))
    {
       dst[0]='\0';
        return dst;
        }
        //循环的改进当字符串不为空,且i在范围内可以即可输出
    for(i =start; src[i]!='\0'; i++)
    {
        if(i>=start&&i

你可能感兴趣的:(函数题)