问题:
求一个字符串的三种解法
一、计数的方法
#include<stdio.h> #include<assert.h> int my_strlen( char* str) { int count=0; while (*str) { count++; str++; } return count; } int main(void) { char *arr = "abcef"; int ret = my_strlen(arr); printf("%d\n", ret); }
二、指针-指针的方法
#include<stdio.h> #include<assert.h> int my_strlen(const char*str) { assert(srt); const char* ret = str; while (*ret++) { ; } return(ret - str-1); } int main(void) { char *arr = "abcdef"; printf("%d\n",my_strlen(arr)); }
三、用递归的方法
#include<stdio.h> #include<assert.h> int my_strlen(char* srt) { assert(srt); if (*srt == ‘\0‘) { return 0; } else { srt++; return (1 + my_strlen(srt)); } } int main(void) { char *arr = "abcdef"; printf("%d\n", my_strlen(arr)); }
时间: 2024-10-09 22:27:07