strlen的几种不同实现方法


Posted in 面试题 onMay 31, 2013
int strlen(const char *str)
{
assert(str != NULL);
int len = 0;
while((*str++) != ‘\0′)
len++;
return len;
}
第二种方法:
int strlen(const char *str)
{
assert(str);
const char *p = str;
while(*p++); /*use addresses to count the length of str*/
return p – str – 1;
}
第三种方法:
int strlen(const char* str)
{
if (str[0] == ‘\0′)
return 0;
else
return strlen((char *)(&str[0]+1))+1; /*iteration*/
}
ANSI C标准中的说法摘录如下: (1)当一个数组标识符出现在表达式中,这个标识符的类型就从“某种类型T的数组”转换成“指向类型T的指针”,而且它的值就等于数组第一个元素的地址。但是当数组标识符被用作sizeof和取址(&)操作的操作数时,sizeof返回的是整个数组的大小,而取址操作返回的是指向数组的指针(而不是指向一个值为数组头元素地址的指针的指针)。(2)下列表达式不能产生lvalue: 数组名,函数,枚举常量,赋值表达式,强制类型转换,函数调用。

Tags in this post...

面试题 相关文章推荐
康拓普公司Java笔面试
Sep 23 面试题
说出一些常用的类,包,接口
Sep 22 面试题
说出数据连接池的工作机制是什么?
Apr 19 面试题
益模软件Java笔试题
Mar 27 面试题
公司JAVA开发面试题
Apr 02 面试题
天网面试题
Apr 07 面试题
P/Invoke是什么
Jul 31 面试题
如何手工释放资源
Dec 15 面试题
介绍一下Linux中的链接
Jun 05 面试题
在Ajax应用中信息是如何在浏览器和服务器之间传递的
May 31 面试题
百度JavaScript笔试题
Jan 15 面试题
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上
Jul 06 面试题
威盛公司软件C++工程师笔试题面试题
Jul 16 #面试题
金山毒霸系列的笔试题
Apr 13 #面试题
JAVA和C++区别都有哪些
Mar 30 #面试题
凌阳科技股份有限公司C++程序员面试题笔试题
Nov 20 #面试题
C++面试题:关于链表和指针
Jun 05 #面试题
C和C++经典笔试题附答案解析
Aug 18 #面试题
字符串str除首尾字符外的其他字符按升序排列
Mar 08 #面试题
You might like
2.PHP入门
2006/10/09 PHP
再推荐十款免费的php开发工具
2015/11/09 PHP
php版微信公众平台之微信网页登陆授权示例
2016/09/23 PHP
php脚本守护进程原理与实现方法详解
2017/07/20 PHP
laravel 中某一字段自增、自减的例子
2019/10/11 PHP
JavaScript Event学习第七章 事件属性
2010/02/07 Javascript
javascript中方便增删改cookie的一个类
2012/10/11 Javascript
node.js中的console.dir方法使用说明
2014/12/10 Javascript
jQuery实现Div拖动+键盘控制综合效果的方法
2015/03/10 Javascript
基于Javascript实现返回顶部按钮
2016/02/29 Javascript
使用JavaScript为Kindeditor自定义按钮增加Audio标签
2016/03/18 Javascript
深入理解React中es6创建组件this的方法
2016/08/29 Javascript
BootStrap 实现各种样式的进度条效果
2016/12/07 Javascript
AngularJS select设置默认值的实现方法
2017/08/25 Javascript
JS实现网页抢购功能(触发,终止脚本)
2017/11/27 Javascript
详解Vue开发微信H5微信分享签名失败问题解决方案
2018/08/09 Javascript
vue使用swiper实现中间大两边小的轮播图效果
2019/11/24 Javascript
JQuery中DOM节点的操作与访问方法实例分析
2019/12/23 jQuery
React组件设计模式之组合组件应用实例分析
2020/04/29 Javascript
[05:59]2018DOTA2国际邀请赛寻真——只为胜利的Secret
2018/08/13 DOTA
使用Python实现一个简单的项目监控
2015/03/31 Python
Python编程入门之Hello World的三种实现方式
2015/11/13 Python
对python插入数据库和生成插入sql的示例讲解
2018/11/14 Python
Python 使用 PyMysql、DBUtils 创建连接池提升性能
2019/08/14 Python
python 哈希表实现简单python字典代码实例
2019/09/27 Python
python 字典访问的三种方法小结
2019/12/05 Python
解决Django提交表单报错:CSRF token missing or incorrect的问题
2020/03/13 Python
如何在mac版pycharm选择python版本
2020/07/21 Python
python爬虫中的url下载器用法详解
2020/11/30 Python
日本土著品牌,综合型购物网站:Cecile
2016/08/23 全球购物
Alexandre Birman美国官网:亚历山大·伯曼
2019/10/30 全球购物
大学生职业生涯规划书范文
2014/01/14 职场文书
写求职信有什么意义
2014/02/17 职场文书
个人对照检查剖析材料
2014/10/13 职场文书
教师批评与自我批评范文
2014/10/15 职场文书
vue选项卡切换的实现案例
2022/04/11 Vue.js