1. 程式人生 > >遞迴和非遞迴分別實現strlen。

遞迴和非遞迴分別實現strlen。

遞迴

#include<stdio.h>//遞迴
int my_strlen(char *str)
{
	if (*str != '\0')
	{
		return 1 + my_strlen(str + 1);
	}
	else
		return 0;
}
int main()
{
	char *p = "abcdef";
	printf("%d\n", my_strlen(p));
	system("pause");
	return 0;
}

非遞迴

#include<stdio.h>//非遞迴
int my_strlen(char *str)
{
	int
count = 0; while (*str != '\0') { count++; str++; } return count; } int main() { char *p = "abcdef"; printf("%d\n", my_strlen(p)); system("pause"); return 0; }