这篇文章将为大家详细讲解有关C语言递归和非递归分别实现strlen的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
小编给大家分享一下C语言递归和非递归分别实现strlen的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int Strlen1(char* str) {//递归
if (*str == '\0') {
return 0;
}
else {
return Strlen1(str + 1) + 1;
}
}
//************
int Strlen2(char* str) {//非递归
int n = 0;
while (*str != '\0') {
++str;
++n;
}
return n;
}
void main() {
char str[30] = { 0 };
printf("请输入一串字符\n");
scanf("%s", &str);
printf("递归判断字符串长度是:%d\n", Strlen1(str));
printf("非递归判断字符串长度是:%d\n", Strlen2(str));
system("pause");
}
关于C语言递归和非递归分别实现strlen的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。