多种方法求字符串长度

方法一:

#include<stdio.h>
#include<string.h>
int main()
{
	int count=0;
	char a[]="hello world !";
    while(a[count]!=‘\0‘)
	{
		count++;
	}
	printf("%d\n",count);
	return 0;
}

方法二:

#include<stdio.h>
int main()
{
	int strlen=0;
	char *p;
	char a[]="hello world !";
	p=a;
	while(*p!=0)
	{
		p++;
	}
	strlen=p-a;
	printf("%d\n",strlen);
	return 0;
}

方法三:

#include<stdio.h>
int my_strlen(char *a)
{
	if(*a==‘\0‘)
		return 0;
	else
		return 1+my_strlen(a+1);
}
int main()
{
	int ret=0;
	char arr[]="hello world !";
	ret=my_strlen(arr);
	printf("%d\n",ret);
}
时间: 2024-08-02 07:01:57

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

字符串操作1 - 递归与非递归两种方法求字符串长度

1 //递归求字符串的长度 2 int RecurseLength(const char *str) 3 { 4 if(str == NULL || *str == '\0') 5 return 0; 6 7 if(*str == '\0') 8 return 0; 9 return RecurseLength(str+1) + 1;//返回当前字符数,再递归处理下一个字符 10 } 11 12 13 14 15 16 //非递归求字符串长度 17 int NonRecurseLength(co

求字符串长度函数实现的三种方法

/* Date: 10/03/19 12:49 Description: 求字符串长度函数实现的三种方法*/ #include<stdio.h> int strlen1(char *s);int strlen2(char *s);int strlen3(char *s); int main(void) { char str[]="The function to test my length."; printf("The length1 is:%d\n",

数组-----求字符串长度

//求字符串长度 #include"stdafx.h" #include<iostream> using namespace std; void main(){ char s[201]; int i = 0; cout << "Please enter a string(ended with enter):" << endl; cin.getline(s, 200); //cin.getline()的使用 while (s[i])

shell编程基础一(多种方法求值1+2+..+100)

#SHELL编程基础一(多种方法求值1+2+..+100)##为什么要学好shell shell脚本语言是实现linux系统管理及自动化运维所必备的重要工具,linux系统的底层及基础应用软件的核心大都涉及shell脚本的内容. 每一个合格的linux系统管理员或运维工程师,都需要能够熟练地编写shell脚本语言,并能够阅读系统及各类软件附带的shell脚本内容. 只有这样才能提升运维人员的工作效率,适应日益复杂的工作环境,减少不必要的工作,从而为个人的职场发展奠定较好的基础.# 本文的宗旨是熟

笔试题: 不使用中间变量求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

求字符串长度 strlen(数组指针两种方式)

问题: 求字符串中所含有字符的个数(包括空格),即求字符串长度: #include <stdio.h> #include <assert.h> int _strlen(const char* str) { assert(str != NULL); int i=0; for(;*str++!='\0';i++); //for(;str++!=NULL;i++);//有些说这句也可以,但执行结果是死循环,str++即使越界也未必为NULL; return i; } int _strle

【C语言】实现一个函数求字符串长度(不能创建第三方变量)

//实现一个函数求字符串长度(不能创建第三方变量) #include <stdio.h> #include <assert.h> int my_strlen(const char *p) { assert(p); if (*p == '\0') return 0; else return 1 + my_strlen(++p); } int main() { char *p = "abcdefg"; printf("%d\n", my_strl

【C语言】编写一个函数,求字符串长度

//编写一个函数,求字符串长度 #include <stdio.h> #include <assert.h> int my_strlen(const char *p) { int len=0; assert(p); while (*(p++)) { len++; } return len; } int main() { char *p = "abcdef"; printf("%d\n", my_strlen(p)); return 0; }

自动补充方法:当字符串长度不够需要自动补充到一定的位数

1.代码 /** 自动补充方法:当字符串长度不够需要自动补充到一定的位数 @param mainString 需要补充的字符串 @param addDigit 补充到的位数 @param addString 补充的字符串 @param inPrefix 在字符串前还是在尾部补齐 @return 完整的字符串 */ - (NSString *)characterStringMainString:(NSString*)mainString AddDigit:(int)addDigit AddStri