标题:救救孩子吧,C语言编编程题:取字符串s从下标beg开始到end-1结束,每个step ...
只看楼主
st2016115142
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2019-12-4
结帖率:0
已结贴  问题点数:20 回复次数:2 
救救孩子吧,C语言编编程题:取字符串s从下标beg开始到end-1结束,每个step个去一个,具体要求如下图?
搜索更多相关主题的帖子: 结束 step 下标 要求 字符串 
2019-12-04 16:36
st2016115142
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2019-12-4
得分:0 
有比较奇怪的点,就是函数声明间隔的个数用char类型,要怎么在pick函数内转化成int呢?
2019-12-04 16:38
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:20 
程序代码:
#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 );
}
2019-12-04 17:12



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-498201-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.235931 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved