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 SOCKET编程,读服务器几个字符,再写入本地显示
Nov 25 面试题
HashMap和Hashtable的区别
May 18 面试题
将n个数按输入顺序的逆序排列,用函数实现
Nov 14 面试题
What is view? why do we have view?
Jun 22 面试题
SQL面试题
Apr 30 面试题
哪些情况下不应该使用索引
Jul 20 面试题
程序员机试试题汇总
Mar 07 面试题
Javascript如何发送一个Ajax请求
Jan 26 面试题
逻辑链路控制协议
Oct 01 面试题
Linux如何为某个操作添加别名
Mar 01 面试题
介绍一下linux文件系统分配策略
Nov 17 面试题
AJax面试题
Nov 25 面试题
威盛公司软件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&mysql(一)
2006/10/09 PHP
PHP6 先修班 JSON实例代码
2008/08/23 PHP
php in_array 函数使用说明与in_array需要注意的地方说明
2010/04/13 PHP
解决phpmyadmin中缺少mysqli扩展问题的方法
2013/05/06 PHP
PHP使用Memcache时模拟命名空间及缓存失效问题的解决
2016/02/27 PHP
PHP实现的分解质因数操作示例
2018/08/01 PHP
浅谈PHPANALYSIS提取关键字
2019/03/08 PHP
不安全的常用的js写法
2009/09/15 Javascript
使用JavaScript 实现各种跨域的方法
2013/05/08 Javascript
javaScript年份下拉列表框内容为当前年份及前后50年
2014/05/28 Javascript
jQuery中多个元素的Hover事件解决方案
2014/06/12 Javascript
JavaScript中提前声明变量或函数例子
2014/11/12 Javascript
js滑动提示效果代码分享
2016/03/10 Javascript
chrome浏览器如何断点调试异步加载的JS
2016/09/05 Javascript
微信小程序 自动登陆PHP源码实例(源码下载)
2017/05/08 Javascript
js分页之前端代码实现和请求处理
2017/08/04 Javascript
elementUI select组件使用及注意事项详解
2019/05/29 Javascript
js判断在哪个浏览器打开项目的方法
2020/01/21 Javascript
vue倒计时刷新页面不会从头开始的解决方法
2020/03/03 Javascript
[01:33]真香警告!DOTA2勇士令状不朽珍藏Ⅱ饰品欣赏
2018/06/26 DOTA
[01:00:30]完美世界DOTA2联赛循环赛 Inki vs Matador BO2第二场 10.31
2020/11/02 DOTA
打开电脑上的QQ的python代码
2013/02/10 Python
浅谈Django中的数据库模型类-models.py(一对一的关系)
2018/05/30 Python
Python 移动光标位置的方法
2019/01/20 Python
Python使用sqlalchemy模块连接数据库操作示例
2019/03/13 Python
python读取目录下所有的jpg文件,并显示第一张图片的示例
2019/06/13 Python
在vscode中配置python环境过程解析
2019/09/28 Python
使用TFRecord存取多个数据案例
2020/02/17 Python
关于Python解包知识点总结
2020/05/05 Python
8款使用 CSS3 实现超炫的 Loading(加载)的动画效果
2015/03/17 HTML / CSS
Notino匈牙利:购买香水和化妆品
2019/04/12 全球购物
药剂专业学生求职信范文
2013/12/28 职场文书
中学生评语大全
2014/04/18 职场文书
小学生竞选班干部演讲稿(5篇)
2014/09/12 职场文书
初中班主任教育随笔
2015/08/15 职场文书
开学随笔
2015/08/15 职场文书