| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2512 人关注过本帖
标题:不用变量实现strlen功能
取消只看楼主 加入收藏
boot2046
Rank: 2
等 级:新手上路
威 望:3
帖 子:168
专家分:0
注 册:2007-7-23
收藏
 问题点数:0 回复次数:6 
不用变量实现strlen功能
如题,不准用变量,实现strlen功能,看看都有什么好的方法
搜索更多相关主题的帖子: strlen功能 变量 
2007-09-05 10:40
boot2046
Rank: 2
等 级:新手上路
威 望:3
帖 子:168
专家分:0
注 册:2007-7-23
收藏
得分:0 
是的,就是写一个自己的strlen函数,计算字符串的长度,要求在函数中不用变量

Linux是简单的,你不需要成为天才也能理解这种简单,Windows是复杂的,就算你是天才也不能理解这种复杂
2007-09-05 12:18
boot2046
Rank: 2
等 级:新手上路
威 望:3
帖 子:168
专家分:0
注 册:2007-7-23
收藏
得分:0 
那就看怎么不用变量的情况下表示出来咯

Linux是简单的,你不需要成为天才也能理解这种简单,Windows是复杂的,就算你是天才也不能理解这种复杂
2007-09-05 13:26
boot2046
Rank: 2
等 级:新手上路
威 望:3
帖 子:168
专家分:0
注 册:2007-7-23
收藏
得分:0 
恩,用递归也是一个好方法

来一个不用递归的吧

#include <stdio.h>
int my_strlen(char *s)
{
return (char *)strchr(s, '\0') - s;
}


int main()
{
char *s = "1234567";

printf("%d\n",my_strlen(s));
}


Linux是简单的,你不需要成为天才也能理解这种简单,Windows是复杂的,就算你是天才也不能理解这种复杂
2007-09-06 09:05
boot2046
Rank: 2
等 级:新手上路
威 望:3
帖 子:168
专家分:0
注 册:2007-7-23
收藏
得分:0 
这是库函数哦,没说没让用库函数啊

Linux是简单的,你不需要成为天才也能理解这种简单,Windows是复杂的,就算你是天才也不能理解这种复杂
2007-09-06 13:35
boot2046
Rank: 2
等 级:新手上路
威 望:3
帖 子:168
专家分:0
注 册:2007-7-23
收藏
得分:0 
当然,如果连库函数都不用的话,那就自己实现一个strchr



#include <stdio.h>

char *my_strchr(char *s, char c)
{
while(*s++ != c);

return --s;
}
int my_strlen(char *s)
{
return (char *)my_strchr(s, '\0') - s;
}


int main()
{
char *s = "123456789";

printf("%d\n",my_strlen(s));


}



Linux是简单的,你不需要成为天才也能理解这种简单,Windows是复杂的,就算你是天才也不能理解这种复杂
2007-09-06 13:48
boot2046
Rank: 2
等 级:新手上路
威 望:3
帖 子:168
专家分:0
注 册:2007-7-23
收藏
得分:0 
没验证过的代码就不放上来了

Linux是简单的,你不需要成为天才也能理解这种简单,Windows是复杂的,就算你是天才也不能理解这种复杂
2007-09-06 14:06
快速回复:不用变量实现strlen功能
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017208 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved