用C語言編寫函數,實現strlen計算字符串長度的功能

本文介紹三種方法:ide

1.循環計數法,(設置一個計數器)。函數

2.遞歸法,(函數調用自身進行計算)測試

3.指針-指針法,(庫函數使用的是此方法)指針

如今列入程序:遞歸

方法1:it

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

方法2:class

/*
遞歸法
*/
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,計算結果正確!方法


若是哪位大神發現程序還有待改進的地方,歡迎批評指正!

相關文章
相關標籤/搜索