用三种方式实现strlen
2015-09-05 16:11
375 查看
//用递归实现
#include<stdio.h>
int my_strlen(char *string)
{
if(*string=='\0')
return 0;
else
return 1+my_strlen(string+1);
}
int main()
{
char a[]="abcdefg";
printf("%d\n",my_strlen(a));
return 0;
}
//用计数器的方法
#include<stdio.h>
int my_strlen(char *string)
{
int count=0;
while(*string!='\0')
{
count++;
string++;
}
return count;
}
int main()
{
char a[]="abcdefg";
printf("%d\n",my_strlen(a));
return 0;
}
//用指针-指针的方法
#include<stdio.h>
int my_strlen(char *string)
{
char *start=string;
while(*string!='\0')
{
string++;
}
return string-start;
}
int main()
{
char a[]="abcdefg";
printf("%d\n",my_strlen(a));
return 0;
}
//用递归实现
#include<stdio.h>
int my_strlen(char *string)
{
if(*string=='\0')
return 0;
else
return 1+my_strlen(string+1);
}
int main()
{
char a[]="abcdefg";
printf("%d\n",my_strlen(a));
return 0;
}
//用计数器的方法
#include<stdio.h>
int my_strlen(char *string)
{
int count=0;
while(*string!='\0')
{
count++;
string++;
}
return count;
}
int main()
{
char a[]="abcdefg";
printf("%d\n",my_strlen(a));
return 0;
}
//用指针-指针的方法
#include<stdio.h>
int my_strlen(char *string)
{
char *start=string;
while(*string!='\0')
{
string++;
}
return string-start;
}
int main()
{
char a[]="abcdefg";
printf("%d\n",my_strlen(a));
return 0;
}
相关文章推荐
- clover分布式任务调度系统 - stark_summer的专栏 - 博客频道 - CSDN.NET
- 前序中序非递归遍历树
- BZOJ 4248 AAQQZ
- LTS 轻量级分布式任务调度框架(Light Task Schedule) - 推酷
- 常用的正则表达式-身份证,密码,手机号,邮箱,昵称,银行卡
- Maven: Unable to locate the Javac Compiler 解决办法
- centos时间同步
- java静态方法
- socket通信机制详解
- 关于快速排序
- Gleasy的分布式任务调度中间件CloudJob | Gleasy团队博客
- 轉載:让重定向>,>>具有root权限
- YII中日志
- Uva-1210 Sum of Consecutive Prime Numbers
- Gleasy首席架构师薛珂:以开源为基础实现分布式框架及中间件-CSDN.NET
- mysql 4.0数据库 升级到高版本
- django 1.8 官方文档翻译: 3-3-5 编写自定义存储系统
- 简单之美 | 基于Dubbo框架构建分布式服务
- 【dfs预处理+DLX】hdu 4069 Squiggly Sudoku
- PAT 1086. Tree Traversals Again (25)