本文摘自PHP中文网,作者little bottle,侵删。
今天带大家一起学习一下用递归和非递归分别实现strlen,对啦,这篇文章用的是C语言,这个大家应该会很熟悉吧,快来看看吧。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | #def ine _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int Strlen 1 (char* str) {//递归
if (*str == '\0' ) {
return 0 ;
}
else {
return Strlen 1 (str + 1 ) + 1 ;
}
}
//************
int Strlen 2 (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" , Strlen 1 (str));
printf( "非递归判断字符串长度是:%d\n" , Strlen 2 (str));
system( "pause" );
}
|
【推荐课程:C视频教程】
以上就是【C语言】递归和非递归分别实现strlen的详细内容!
相关阅读 >>
continue语句只用于循环语句中,它的作用是什么
C语言strcmp函数用法
C语言中求余运算符是什么?
在C语言中char型数据在内存中的存储形式是什么?
一个C语言源程序是由什么组成
C语言规定在一个源程序中main函数的位置是什么?
C语言中%d,%s,%x,%f,%.100的意义
C语言中system()函数怎么用?
C语言中预处理命令都必须以什么号开始
新手学习C语言必须要知道的特点
更多相关阅读请进入《C语言》频道 >>
转载请注明出处:木庄网络博客 » 【C语言】递归和非递归分别实现strlen