博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

CalmArrow

【打好基础】全力以赴,顺其自然【每天进步一点点】
  piaoxiang.cublog.cn

关于作者
姓名:CalmArrow(lqm)
职业:硕士在读
位置:山东济南
研究:嵌入式系统设计
联系:calmarrow@gmail.com

信仰:
    1、永远保持积极向上(积极的心态,积极的思考,积极的行动),享受生活给予的一切!
    2、做正确的事,正确的做事;用心去做,做到最好!
    3、如果你觉得不幸福,那么请你把幸福的门槛降低一些,不要把幸福拒之门外。。。

目标:
    软硬结合,打好基础,提高学习能力,完善知识体系,建立核心优势。

方法:
    理论与实践相结合
    深度与广度相结合
    理解与记忆相结合

说明:
    本Blog仅供学习之用,转载文章如涉及版权,请通知。原创作品如转载,请注明出处。
|| << >> ||
我的分类


C标准库字符串函数:strlen
    不使用库函数实现strlen。
 

#if VERSION1
size_t strlen(const char *s)
{
        assert(s != NULL);
        size_t n;

        for (n=0; *s!='\0'; s++) {
                n++;
        }

        return n;
}
#endif

#if VERSION2
size_t strlen(const char *s)
{
        assert(s != NULL);
        const char *tmp;

        for (tmp=s; *tmp!='\0'; tmp++) {
                /* nothing */;
        }

        return (tmp - s);
}
#endif

 
    这两种方式都是可行的。版本2利用了指针的减法运算。
 
    测试驱动如下:
 
文件: strlen.tar.gz
大小: 2KB
下载: 下载

发表于: 2007-11-02,修改于: 2007-11-19 16:09,已浏览1014次,有评论0条 推荐 投诉


网友评论
 发表评论