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...

面试题 相关文章推荐
PHP如何调用MYSQL存储过程
May 30 面试题
weblogic面试题
Mar 07 面试题
static关键字的用法
Oct 07 面试题
Android面试题及答案
Sep 04 面试题
端口镜像是怎么实现的
Mar 25 面试题
开放系统互连参考模型
Jun 29 面试题
C#笔试题和英文面试题
Feb 07 面试题
Prototype是怎么扩展DOM的
Oct 01 面试题
对象的序列化(serialization)类是面向流的,应如何将对象写入到随机存取文件中
Jun 22 面试题
JAVA招聘远程笔试题
Jul 23 面试题
请说出以下代码输出什么
Aug 30 面试题
Servlet方面面试题
Sep 28 面试题
威盛公司软件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
PHP中的string类型使用说明
2010/07/27 PHP
使用php将某个目录下面的所有文件罗列出来的方法详解
2013/06/21 PHP
如何使用PHP对网站验证码进行破解
2015/09/17 PHP
基于JQuery框架的AJAX实例代码
2009/11/03 Javascript
idTabs基于JQuery的根据URL参数选择Tab插件
2012/04/11 Javascript
标题过长使用javascript按字节截取字符串
2014/04/24 Javascript
解决js下referer兼容各大浏览器的方法
2014/11/03 Javascript
jQuery代码实现发展历程时间轴特效
2015/07/30 Javascript
详解Jquery实现ready和bind事件
2016/04/14 Javascript
JS中使用apply、bind实现为函数或者类传入动态个数的参数
2016/04/26 Javascript
JS打印组合功能
2016/08/04 Javascript
Vue实现侧边菜单栏手风琴效果实例代码
2018/05/31 Javascript
解决vue 中 echart 在子组件中只显示一次的问题
2018/08/07 Javascript
简单了解JavaScript作用域
2020/07/31 Javascript
[10:49]2014国际邀请赛 叨叨刀塔第二期为真正的电竞喝彩
2014/07/21 DOTA
[51:39]DOTA2-DPC中国联赛 正赛 Magma vs LBZS BO3 第二场 2月7日
2021/03/11 DOTA
详细探究Python中的字典容器
2015/04/14 Python
详谈python http长连接客户端
2017/06/12 Python
Python设计模式之命令模式简单示例
2018/01/10 Python
python使用pandas实现数据分割实例代码
2018/01/25 Python
详解python调用cmd命令三种方法
2019/07/08 Python
Python单元测试工具doctest和unittest使用解析
2019/09/02 Python
Python3读写ini配置文件的示例
2020/11/06 Python
Python Spyder 调出缩进对齐线的操作
2021/02/26 Python
CSS3中使用RGBa来调节透明度的教程
2016/05/09 HTML / CSS
Philosophy美国官网:美国美容品牌
2016/08/15 全球购物
linux面试题参考答案(6)
2014/08/29 面试题
运动会通讯稿500字
2014/02/20 职场文书
项目合作协议书
2014/04/16 职场文书
化学专业自荐信
2014/05/28 职场文书
新颖的化妆品活动方案
2014/08/21 职场文书
国防教育标语
2014/10/08 职场文书
七一晚会主持词
2015/06/29 职场文书
Python带你从浅入深探究Tuple(基础篇)
2021/05/15 Python
Python爬虫实战之爬取携程评论
2021/06/02 Python
Python使用永中文档转换服务
2022/05/06 Python