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

面试题 相关文章推荐
说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法
May 24 面试题
链表面试题-一个链表的结点结构
May 04 面试题
杭州-DOTNET笔试题集
Sep 25 面试题
C#面试常见问题
Feb 25 面试题
几个Shell Script面试题
Apr 18 面试题
某科技软件测试面试题
May 19 面试题
介绍一下EJB的分类及其各自的功能及应用
Aug 23 面试题
一些关于MySql加速和优化的面试题
Jan 30 面试题
遇到的Mysql的面试题
Jun 29 面试题
Overload和Override的区别
Sep 02 面试题
如何用Java判断一个文件或目录是否存在
Nov 19 面试题
有abstract方法的类一定要用abstract修饰吗
Mar 14 面试题
威盛公司软件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
Yii框架调试心得--在页面输出执行sql语句
2014/12/25 PHP
php通过两层过滤获取留言内容的方法
2016/07/11 PHP
Yii遍历行下每列数据的方法
2016/10/17 PHP
php rsa 加密,解密,签名,验签详解
2016/12/06 PHP
php处理抢购类功能的高并发请求
2018/02/08 PHP
javascript 子窗体父窗体相互传值方法
2010/05/31 Javascript
使用node.js 制作网站前台后台
2014/11/13 Javascript
使用JS获取当前地理位置方法汇总
2014/12/18 Javascript
jQuery实现底部浮动窗口效果
2016/09/07 Javascript
JS实现标签页切换效果
2017/05/04 Javascript
微信小程序实现页面跳转传值的方法
2017/10/12 Javascript
基于VuePress 轻量级静态网站生成器的实现方法
2018/04/17 Javascript
使用vuex的state状态对象的5种方式
2018/04/19 Javascript
详解如何在你的Vue项目配置vux
2018/06/04 Javascript
详解Puppeteer前端自动化测试实践
2019/02/21 Javascript
JS中getElementsByClassName与classList兼容性问题解决方案分析
2019/08/07 Javascript
vue实现瀑布流组件滑动加载更多
2020/03/10 Javascript
[02:56]DOTA2上海特锦赛小组赛解说FreeAgain采访花絮
2016/02/27 DOTA
Python中下划线的使用方法
2015/03/27 Python
Python3 Post登录并且保存cookie登录其他页面的方法
2018/12/28 Python
python 使用事件对象asyncio.Event来同步协程的操作
2020/05/04 Python
Anaconda使用IDLE的实现示例
2020/09/23 Python
pycharm 的Structure界面设置操作
2021/02/05 Python
夏威夷灵感服装及配饰:Reyn Spooner
2018/09/18 全球购物
温泉秘密:Onsen Secret
2020/07/06 全球购物
机械设计专业应届生求职信
2013/11/21 职场文书
2014的自我评价
2014/01/13 职场文书
干部培训自我鉴定
2014/01/22 职场文书
社区端午节活动方案
2014/01/28 职场文书
2014乡镇干部纪律作风整顿思想汇报
2014/09/13 职场文书
2014年纪检监察工作总结
2014/11/11 职场文书
2014小学教师年度考核工作总结
2014/12/03 职场文书
个人工作年终总结
2015/03/09 职场文书
《实心球》教学反思
2016/02/23 职场文书
html粘性页脚的具体使用
2022/01/18 HTML / CSS
解决MySQL Varchar 类型尾部空格的问题
2022/04/06 MySQL