用C语言编写函数,实现strlen计算字符串长度的功能

本文介绍三种方法:

1.循环计数法,(设置一个计数器)。

2.递归法,(函数调用自身进行计算)

3.指针-指针法,(库函数使用的是此方法)

现在列入程序:

方法1:

/*
计数法
*/
int my_strlen(char *p)
{
	int number = 0;
	while (*p)
	{
		number++;
		p++;
	}
	return number;
}

方法2:

/*
递归法
*/
int my_strlen(char *str1)
{
	if (*str1 != ‘\0‘)
	{
		str1++;
		return 1 + my_strlen(str1);
	}
	else
		return 0;
}

方法3:

/*
指针相减法
*/
int my_strlen(char *p)
{
	char *pstart = p;
	while (*p)
		p++;
	return p - pstart;
}

现在给出主函数进行调用以及测试:

int main()
{
	char *str = "asdfg";
	int len = my_strlen(str);
	printf("%d\n",len);
	system("pause");
	return 0;
}

经过验证,结果均为5,计算结果正确!

如果哪位大神发现程序还有待改进的地方,欢迎批评指正!

时间: 2024-10-25 14:31:30

用C语言编写函数,实现strlen计算字符串长度的功能的相关文章

计算机基础-C语言-16章-数组应用-计算字符串长度

字符数组的大小并不代表它所包含字符串的长度.需要通过检查结束符,才能判断字符串的实际长度. 数组和指针的关系 原文地址:https://www.cnblogs.com/happyniqiu/p/10017441.html

[转载] python 计算字符串长度

本文转载自: http://www.sharejs.com/codes/python/4843 python 计算字符串长度,一个中文算两个字符,先转换成utf8,然后通过计算utf8的长度和len函数取得的长度,进行对比即可知道字符串内中文字符的数量,自然就可以计算出字符串的长度了. value=u'脚本12' length = len(value) utf8_length = len(value.encode('utf-8')) length = (utf8_length - length)

计算字符串长度,加车头

计算字符串长度,加车头.切换到IE模式下使用 0

利用repne scas byte ptr es:[edi]计算字符串长度

edi:存放字符串al:存放字符xrepne scas byte ptr es:[edi] :遍历字符串,每循环一次ecx-1,遇到字符x则停止汇编中一个很经典的计算字符串长度的方法便是利用了这条指令. 00406930 /$ 89FA mov edx,edi 00406932 |. 89C7 mov edi,eax ;edi里为存放的字符串 00406934 |. B9 FFFFFFFF mov ecx,-0x1 ;ecx放入-1 00406939 |. 30C0 xor al,al ;al=

计算字符串长度

#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //1.定义字符串对象 NSString *str=[NSString stringWithString:@"zi fu chuan"]; //2.计算字符串长度 NSUInteger len = [str length]; //3.输出字符串长度 NSLog(@"zi fu

【c语言】为下面的函数原型编写函数定义,这个字符串参数必须包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数。

/*为下面的函数原型编写函数定义: int ascii_to_integer(char *str); 这个字符串参数必须包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数. 如果字符串参数包含了任何非数字字符,函数就返回零.请不必担心算数溢出. 提示:这个技巧很简单:你每发现一个数字,把当前值乘以10,并把这个值和新的数字所代表的值相加*/ #include <stdio.h> int ascii_to_integer(char const *str) { int sum =

汇编:计算字符串长度

;统计字符串长度 DATAS SEGMENT string db 'hello world demo0';待计算的字符串以0结尾 DATAS ends CODES SEGMENT ASSUME CS:CODES, DS:DATAS START: mov AX,DATAS mov DS,AX call strlen ;调用strlen子程序 mov ah,4CH int 21h strlen proc lea si,string;记录string的偏移地址 xor cx,cx ;cx记录字符个数

PHP字符串截取,计算字符串长度

1 /** 2 * 字符串截取,支持中文和其他编码 3 * @param [string] $str [字符串] 4 * @param integer $start [起始位置] 5 * @param integer $length [截取长度] 6 * @param string $charset [字符串编码] 7 * @param boolean $suffix [是否有省略号] 8 * @return [type] [description] 9 */ 10 function msubs

Shell脚本中计算字符串长度的5种方法及从文本获取某一行

有时在Linux操作系统中需要计算某个字符串的长度,通过查询资料整理了下目前Shell中获取字符串的长度的多种方法,在这里分享给大家,方法如下: 方法1: 使用wc -L命令wc -L可以获取到当前行的长度,因此对于单独行的字符串可以用这个简单的方法获取,另外wc -l则是获取当前字符串内容的行数. 代码如下: echo "abc" |wc -L 方法2: expr length string使用expr length可以获取string的长度 方法3: awk获取域的个数,但是如果大