注册 登录
编程论坛 C语言论坛

救救孩子吧,C语言编编程题:取字符串s从下标beg开始到end-1结束,每个step个去一个,具体要求如下图?

st2016115142 发布于 2019-12-04 16:36, 1703 次点击
只有本站会员才能查看附件,请 登录
2 回复
#2
st20161151422019-12-04 16:38
有比较奇怪的点,就是函数声明间隔的个数用char类型,要怎么在pick函数内转化成int呢?
#3
rjsp2019-12-04 17:12
程序代码:
#include <stdio.h>
#include <string.h>

void pick( const char* s, char* sub, size_t beg, size_t end, size_t step )
{
    size_t n = strlen(s);
    end = end<n ? end : n;

    for( size_t i=beg; i<end; i+=step ) // 这里有个bug --- i+=step 可能溢出,明天再改
        *sub++ = s[i];
    *sub = '\0';
}

int main( void )
{
    char sub[100];
    pick( "Stringhandling", sub, 2, 8, 2 );
    puts( sub );
}
1