【无标题】else后面的内容越看我越蒙蔽

请编写函数,求右子串。

函数原型
char* StrRight(char *dst, const char *src, int len);

说明:函数取源串 src 的后 len 个字符,保存到目的串 dst 中,函数值为 dst。若 len 值不正确,则自动修正。

裁判程序
 

#include <stdio.h> char* StrRight(char *dst, const char *src, int len); int main() { char a[128], b[128]; int n; gets(a); scanf("%d", &n); StrRight(b, a, n); puts(b); return 0; } /* 你提交的代码将被嵌在这里 */

输入样例1
abcd
2

输出样例1
cd

输入样例2
abcd
8

注:8 不正确,按 4 处理。

输出样例2
abcd

输入样例3
abcd
-5

注:-5 不正确,按 0 处理。

输出样例3


注:输出为空串。

char* StrRight(char *dst, const char *src, int len)
{
    int i=0,j=0;
    if(len<=0)
    {
        *dst='\0';
        return dst;
    }
    else if(len>strlen(src))
    {
        i=0;
        while(src[i]!='\0')
        {
            dst[j++]=src[i++];
        }
        dst[j]='\0';
        return dst;
    }
    else 
    {
        i=strlen(src)-len;
        while(src[i]!='\0')
            dst[j++]=src[i++];
        dst[j]='\0';
        return dst;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值