字符串长度的三种求取方法

1.遍历字符串,只要不遇到字符0,计数器就加1.
int my_strlen(const char *str)//加const修饰更安全
{
	int count=0;
	while(*str)
	{
		count++;
		str++;
	}
	return count;
}

2.递归实现
int my_strlen(const char *str)
{
	while(*str)
	{
		return 1+my_strlen(str+1);
	}
	return 0;
}

3.地址相减
int my_strlen(const char *str)
{
	char *start=str;
	while(*str)
	{
		str++;
	}
	return str-start;//起始位置的地址—末尾位置的地址 = 个数
}
时间: 2024-08-02 11:04:24

字符串长度的三种求取方法的相关文章

C语言--求字符串长度的三种解法

问题: 求一个字符串的三种解法 一.计数的方法 #include<stdio.h> #include<assert.h> int my_strlen( char* str) { int count=0; while (*str) { count++; str++; } return count; } int main(void) { char *arr = "abcef"; int ret = my_strlen(arr); printf("%d\n&

求字符串长度的三种方法

1.指针 #include<stdio.h> int strlen(char s[]) {     int len=0; while(*s++!='\0') {       len++; } return len; } int main() { char s[]="123456789"; printf("%d\n",strlen(s)); system("pause");    return 0; } 2.计数 #include<

linux shell脚本编程笔记(四): 获取字符串长度的七种方法

获取字符串长度的七种方法 1. \${#str} 2.awk的length 备注:1) 最好用{}来放置变量2) 也可以用length($0)来统计文件中每行的长度 3.awk的NF 备注: -F为分隔符,NF为域的个数,即单行字符串的长度 4.wc的-L 备注: -L参数1) 对多行文件来说,表示打印最长行的长度! 82,表示/etc/passwd文件最长行的长度为822) 对单行字符串而言,表示当前行字符串的长度! 5.wc -c 备注: 1) -c参数: 统计字符的个数2) -n参数: 去

JSON三种数据解析方法(转)

原 JSON三种数据解析方法 2018年01月15日 13:05:01 zhoujiang2012 阅读数:7896 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/oman001/article/details/79063278 引言 JSON数据现在是我们开发中用的最多的,百分之八十的数据都是通过JSON方式进行传输,那么想要学好JSON解析就要了解什么是JSON数据,怎么快速解析它从而提升开发效率. 什么是JSON数据? 下面这里有一段JS

三种纯CSS方法实现等高列

在这篇文章里, 我会介绍三种使用纯css的方式来实现等高列的方法.在网页布局中设置列等高是比较常见的, 所以写这篇文章就是要总结下一些优雅的纯CSS解决方案. 插图自己弄得,不喜莫喷 哈哈.. 下面介绍的三种方法都只用到了CSS , 不涉及jQuery.JavaScript计算实现的方法,所以我把它这篇文章标题设为:三种纯CSS方法实现等高列. 方法-1: 使用Margins, Paddings和 Overflow来实现 第一种方法使用margins, paddings和overflow来迫使列

笔试题: 不使用中间变量求const字符串长度,即实现求字符串长度库函数strlen函数

笔试题: 不使用中间变量求const字符串长度,即实现求字符串长度库函数strlen函数. 函数接口声明如下:int my_strlen(const char *p); strlen函数实际完成的功能是从代表该字符串的第一个地址开始遍历,直到遇到结束符'\0'. 而返回的长度大小不包括'\0'. #include <stdio.h> #include <assert.h> //使用中间变量 //int my_strlen(const  char *str) //{ //   ass

控制系统的三种经典分析方法

控制系统的三种经典分析方法 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 系列博客说明:此系列博客属于作者在大三大四阶段所储备的关于电子电路设计等硬件方面的知识和项目笔记,由于当时崇尚手写,没有进行电子录入,后来发现查阅起来比较零散且麻烦,而且不便随身携带.现将笔记中写字比较公正清晰且内容重要的部分通过扫描录入共享在我的博文中,以便有需要时随时上网查阅,同时希望能对有兴趣的读者有所帮助.内容不涉及实验室等利益,均是常规知识储备. 时域分析法 根轨迹法

.Net MVC 导入导出Excel总结(三种导出Excel方法,一种导入Excel方法)

.Net MVC  导入导出Excel总结(三种导出Excel方法,一种导入Excel方法) 通过MVC控制器导出导入Excel文件(可用于java SSH架构) public class ExcelController : Controller { // // GET: /Excel/ Models.zbwxglEntities myMdl = new Models.zbwxglEntities(); /// <summary> /// 第一种方法,利用文件输出流进行读写操作 /// <

halcon三种模板匹配方法

转自 : http://blog.csdn.net/hust1900/article/details/8843270 halcon有三种模板匹配方法:即Component-Based.Gray-Value-Based.Shaped_based,分别是基于组件(或成分.元素)的匹配,基于灰度值的匹配和基于形状的匹配,此外还有变形匹配和三维模型匹配也是分属于前面的大类 本文只对形状匹配做简要说明和补充: Shape_Based匹配方法: 上图介绍的是形状匹配做法的一般流程及模板制作的两种方法. 先要