C语言 基础二 - 函数<2>

C语言 基础二 - 函数<2>

笔记来源于b站
发博文只是为了记录学习…无盗用之意…

1.2 复习_函数的声明 / 调用:

1.2.1 主模块test.c:

在这里插入图片描述

1.2.2 副模块add.c:

在这里插入图片描述

1.2.3 头文件add.h:

# ifndef __ADD_H__
# define __ADD_H_

//函数声明
int Add(int x,int y);

# endif

在这里插入图片描述
在这里插入图片描述

1.3 函数递归:

程序的自身调用 称为递归…

在这里插入图片描述

1.3.1 最简单的递归:

int main ()
{
	printf("hehe\n");
	main();


	return 0;
}

递归常见的错误:栈溢出
在这里插入图片描述
在这里插入图片描述

1.3.2 程序员的知乎:

stackoverflow

1.4 练习:

1.输入1234…按位输出 1 2 3 4:

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>



void print(int n)
{
   if(n>9)
   {
    print(n/10);
   
   }

   printf("%d",n%10);

}



int main()

{
 unsigned int num =0;

 scanf("%d",&num);//num

 print(num);//自定义函数

 return 0;
}

2. 编写函数,求字符串长度:

在这里插入图片描述

int my_strlen(char* p)

{
   if(*p!='\0')
   
	  return  1+my_strlen(p+1);
     
   else
      return 0;

}




int main()

{

	char arr[] ="bit";

	int len = my_strlen(arr);
	printf("%d\n",len);

    return 0;
}

3. 斐波那契数列:

斐波那契数列就是:前两个数的和 是第三个数…
在这里插入图片描述
在这里插入图片描述

int Fib(int N)
{
  if(N<=2)
   return 1;
  else
	return Fib(N-1)+Fib(N-2);
}

int main()

{

	//char arr[] ="bit";

	//int len = my_strlen(arr);
	//printf("%d\n",len);

 //   return 0;

	int n = 0;
	int ret =0;
	scanf("%d",&n);

	
	ret= Fib(n);

	printf("%d\n",ret);//第n个斐波那契数...


	return 0;

}

4.递归经典问题:

《剑指offer》67道笔试题…
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值