什么是函数?
函数是封装起来能实现一定功能的代码
(代码写在文中不易体现函数特点,最下方附完整代码)
1.函数定义(需要在主函数之前定义)
类型名 函数名(参数)//类型名决定函数返回值的数据类型;void型函数不返回值;参数不是必要的,可没有参数
2.实参与形参
概念:主调函数:调用函数的函数 被调函数:被函数调用的函数
实参:主调函数中的用于给被调函数做参数的量 形参:被调函数中用于存储实参的量
(1)函数中实参和形参的数据类型需一致
(2)对形参的操作不会影响实参的值;除非传入的实参为地址
(3)形参的生存期为其函数的开始调用到结束
3.函数声明
类型 函数名(参数);//放在主函数之前;随后需在主函数后做完整定义
4.递归调用——函数调用自己
#include<stdio.h>
#include<string.h>
#include<windows.h>
void max1(int a, int b)
{
printf("%d\n", a < b ? b : a);
}//无返回值函数
int max2(int a, int b)
{
a = a < b ? b : a;
return a;
}//返回整型函数
int abo(int n);//声明函数
void ch(char a[]);//声明数组函数,数组本质是指针代表地址
int main()
{
int a = 4, b = 3, c;
max1(a, b);//此处a、b为实参,max1函数内部的a、b为形参
c = abo(3);//有返回值的函数需要对应数据类型的变量接受返回值
printf("%d\n", c);
system("pause");
return 0;
}
int abo(int n)
{
int a;
switch (n)
{
case 1:
a= 1;
break;
case 2:
a= 1;
break;
default:
a = abo(n - 1) + abo(n - 2);//递归
break;
}
return a;
}//递归定义函数abo,输出斐波那契数
原文:https://www.cnblogs.com/zx2464/p/14245800.html