从零开始学习C语言日记——DAY21

一、函数的声明和定义

函数声明∶

1.告诉编译器有一个函数叫什么,参数是什么,返回类型是什么。但是具体是不是存在,无关紧要。

2.函数的声明一般出现在函数的使用之前。要满足先声明后使用。

3.函数的声明一般要放在头文件中的。

函数定义∶

函数的定义是指函数的具体实现,交待函数的功能实现。

 

如果把函数放主程序后面会产生这样一个错误,warning,Add未定义;假设外部返回int。因为扫描是从上往下扫的。

先在前定义函数int Add(int x,int y);即可。但是尽量不要用,不是这么用的

 

单独添加一个源文件写一个模块叫Add.c,单独添加一个头文件叫Add.h

源.C

 

Add.c

 

Add.h

 

.h的内容放置函数的声明

#ifndef __ADD_H__

#define __ADD_H__

这样的话可以防止头文件被重复定义

函数递归
什么是递归?
程序调用自身的编程技巧称为递归( recursion )。递归做为一种算法在程序设计语言中广泛应用。一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个氖原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的主要思考方式在于:把大事化小

简单来说一个函数自己调用自己就叫递归


递归的两个必要条件
1.存在限制条件,当满足这个限制条件的时候,递归便不再继续。

2.每次递归调用之后越来越接近这个限制条件。

 

问题:输入此程序为什么走着走着就报错了?

 

报错stack overflow——栈溢出

因为任何一次函数调用都会在栈区里为他分配一块空间,装不下了自然会报错

 

练习1∶
接受一个整型值(无符号),按照顺序打印它的每一位。例如︰输入∶1234,输出1234.

 

流程图

 

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值