《C游记》 修炼之路 -- 函数篇(贰)

目录

  第壹题 :字符串逆序(递归实现)

  第贰题 :计算一个数的每位之和(递归实现)

  第叁题 :递归实现n的k次方


  本文的Gitee地址:CSDN_C游记_玄澈: 《C游记》博客文章源代码


  第壹题 :字符串逆序(递归实现)

《C游记》 修炼之路 -- 函数篇(贰)_第1张图片


  方法一,非递归实现

main主体部分

《C游记》 修炼之路 -- 函数篇(贰)_第2张图片


  1. 数组名是首元素的地址
  2. 首元素是char类型,对应的传参元素过去就是  char*  类型

《C游记》 修炼之路 -- 函数篇(贰)_第3张图片


《C游记》 修炼之路 -- 函数篇(贰)_第4张图片

采用两个指针不断移动,然后交换两个位置的元素来实现逆序

 《C游记》 修炼之路 -- 函数篇(贰)_第5张图片


  方法贰,递归实现

大致思路

《C游记》 修炼之路 -- 函数篇(贰)_第6张图片

 《C游记》 修炼之路 -- 函数篇(贰)_第7张图片

《C游记》 修炼之路 -- 函数篇(贰)_第8张图片代码实现 (推荐自己手动模拟一下)

《C游记》 修炼之路 -- 函数篇(贰)_第9张图片

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;
}

《C游记》 修炼之路 -- 函数篇(贰)_第10张图片 

  第贰题 :计算一个数的每位之和(递归实现)

《C游记》 修炼之路 -- 函数篇(贰)_第11张图片


 《C游记》 修炼之路 -- 函数篇(贰)_第12张图片

《C游记》 修炼之路 -- 函数篇(贰)_第13张图片


int DigiSum(unsigned int n)
{
	if (n > 9)
	{
		return DigiSum(n / 10) + n % 10;
	}
	else
	{
		return n;
	}
}

   第叁题 :递归实现n的k次方


《C游记》 修炼之路 -- 函数篇(贰)_第14张图片

《C游记》 修炼之路 -- 函数篇(贰)_第15张图片


 

 

 

你可能感兴趣的:(C游记,c语言,开发语言,后端)