本文的Gitee地址:文章源代码
第壹题 :字符串逆序(递归实现)
方法一,非递归实现
main主体部分
- 数组名是首元素的地址
- 首元素是char类型,对应的传参元素过去就是 char* 类型
采用两个指针不断移动,然后交换两个位置的元素来实现逆序
方法贰,递归实现
大致思路
代码实现 (推荐自己手动模拟一下)
void reverse_string(char* str) { int len = strlen(str); char tmp = str[0]; str[0] = str[len - 1]; str[len - 1] = '\0'; if(strlen(str + 1) >= 2) reverse_string(str + 1); str[len - 1] = tmp; }
第贰题 :计算一个数的每位之和(递归实现)
int DigiSum(unsigned int n) { if (n > 9) { return DigiSum(n / 10) + n % 10; } else { return n; } }
第叁题 :递归实现n的k次方
到此这篇关于C语言修炼之路函数篇真题训练下的文章就介绍到这了,更多相关C语言 函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!