字符串长度的求解 (3种方法)

1、count

#include<stdio.h>
int my_strlen(char *str)
{
	int count=0;
	while(*str!=‘\0‘)
	{
		count++;
	}
	return count;
}
int main()
{
	char *str="hello world";
	int ret=my_strlen(str);
	printf("len=%d\n",ret);
	return 0;
}

2、递归

#include<stdio.h>
int my_strlen(char *str)
{
	if(*str==‘\0‘)
	{
		return 0;
	}
	else
	{
		return 1+my_strlen(str+1);
	}
}
int main()
{
	char *str="hello world";
	int ret=my_strlen(str);
	printf("len=%d\n",ret);
	return 0;
}

3、指针

#include<stdio.h>
int my_strlen(char *str)
{
	char *start=str;
	int len=0;
	while(*str)
	{
		str++;
	}
	return str-start;
}
int main()
{
	char *str="hello world";
	int ret=my_strlen(str);
	printf("len=%d\n",ret);
	return 0;
}
时间: 2024-10-12 00:05:19

字符串长度的求解 (3种方法)的相关文章

php在数字前面补0得到固定长度数字的两种方法

比较基础,其实两个内置函数都能实现. 1  sprintf 语法: string sprintf(string format, mixed [args]...); 返回值: 字符串 函数种类: 资料处理 本函数用来将字符串格式化.参数 format 是转换的格式,以百分比符号 % 开始到转换字符为止.而在转换的格式间依序包括了 填空字符.0 的话表示空格填 0:空格是默认值,表示空格就放着. 对齐方式.默认值为向右对齐,负号表向左对齐. 字段宽度.为最小宽度. 精确度.指在小数点后的浮点数位数.

Python实用技巧:实现字符串反向输出的5种方法

Python--实现字符串反向输出的5种方法 方法1: for 循环 1 letter_num = list(input('please input some characters:')) 2 list_num = [] 3 def convert_order(): 4 for i in range(len(letter_num)):#根据列表的长度决定遍历的次数 5 list_num.append(letter_num[len(letter_num) - i - 1])#把letter_num

js去掉字符串前后空格的五种方法(转)

出处:http://www.2cto.com/kf/201204/125943.html 第一种:循环检查替换[javascript]//供使用者调用  function trim(s){  return trimRight(trimLeft(s));  }  //去掉左边的空白  function trimLeft(s){  if(s == null) {  return "";  }  var whitespace = new String(" \t\n\r")

C# 判断字符串为空有哪几种方法

Length法:bool isEmpty = (str.Length == 0);Empty法:bool isEmpty = (str == String.Empty);General法:bool isEmpty = (str == ""); 2.深入内部机制: 要深入探讨其内部机制,需要查看.Net的源代码,同样有三种方法供参考: Rotor法:一个不错的选择就是微软的Rotor,这是微软的一个源代码共享项目. Mono法:另一个不错的选择当然就是真正的开源项目Mono啦! Refl

C# 判断字符串为空的4种方法及效率

在程序开发过程中,少不了要处理字符串,并且常常要判断字符串是否为空,通常有哪些判断方法,以及不同方法的效率又怎么样? 在 C# 中,通常有三种判断字符串是否为空的方法,下面分别探讨. 1.str.Length == 0 使用 str.Length == 0,在三种方法中效率是最高的,但容易产生异常.当字符串为空的时候就会产生异常,如 string str; 或者 string str = null; if(str.Length == 0) //产生异常 此时,就会产生对象不能为空的异常. 如果事

Objectiv-C实现字符串反序的两种方法

第一种方法:(注意中文字符串的处理) #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { NSString *[email protected]"我是一个字符串"; NSMutableString *str1=[NSMutableString string]; NSMutableString *str2=[NSMutableString stringWithUTF8Strin

js去掉字符串前后空格的五种方法

第一种:循环检查替换[javascript]//供使用者调用  function trim(s){  return trimRight(trimLeft(s));  }  //去掉左边的空白  function trimLeft(s){  if(s == null) {  return "";  }  var whitespace = new String(" \t\n\r");  var str = new String(s);  if (whitespace.i

c#除掉字符串最后一个字符几种方法

有一数组:转换为字符串后为 aaa|bbb|ccc|ddd| 现要去掉最后一个| 第一种方法: 语句为:str1=aaa|bbb|ccc|ddd| str=str1.substring(0,lastindecof("|")); respone.write(str); outprint: ======================== aaa|bbb|ccc|ddd 第二种方法: str1=aaa|bbb|ccc|ddd| str=str.endTrim('1')//记得一定是'号因为

统计字符串单词数的两种方法(c语言实现)

问题描述:统计一个字符串,字符串由单词,空格构成. 思路: 一,遍历字符串所有字符,设置一个布尔变量来判断当前是空格还是字母 1 #include <stdio.h> 2 #include <stdbool.h> 3 #include <string.h> 4 5 int count_words(char* s) 6 { 7 int len=strlen(s); // len存放字符串长度 8 bool isWhite=true; 9 int i,count=0; //