递归和非递归分别实现strlen(C语言)

来源:互联网 发布:java timestamp long 编辑:程序博客网 时间:2024/05/16 09:30
#include<stdio.h>#include<windows.h>#include<string.h>#include<stdlib.h>int my_strlen_2(const char* str_2){//递归实现assert(str_2 != NULL);if(*str_2)return 1+my_strlen_2(str_2+1);elsereturn 0;}int my_strlen_1(const char* str_1){//非递归实现int count = 0;assert(str_1 != NULL);while( *str_1 ){count++;str_1++;}return count;}int main(){int len_1 = my_strlen_1("abcdef");int len_2 = my_strlen_2("abcdef");printf("len_1 = %d\n",len_1);printf("len_2 = %d\n",len_2);system("pause");return 0;}