当前位置:网站首页>C语言-函数知识点
C语言-函数知识点
2022-06-28 19:07:00 【Viviana-0】
一、使用函数注意的地方:
1.void:表示函数不能接受数据
2.int:表示函数返回的是int类型数据
3.return 10:表示返回10
int f(void){
return 10;
}
1.以下代码是错误的:
函数名前面的void表示该函数没有返回值
void g(void){
return 1;
}
二、如何定义函数
1.函数定义
函数返回值 函数的名字(函数的形参列表){
函数的执行体
}
2.函数的返回值:也称为函数的类型
若函数名的返回值类型和函数执行体的return表达式不同,则是以函数的返回值为主
int f()
{
return 10.5;
}
返回10
3.return 与 break区别
- break是用来终止循环和switch的,return是用来终止函数的
- return 表达式;
含义:终止被调函数,向主调函数返回表达式的值如果表达式为空,则只终止函数,不向主调函数返回任何值
举个例子
1.如果是break输出
大家辛苦了!
同志们好!
2.如果是return输出
大家辛苦了!
void f(void){
int i;
for(i=0;i<5;++i){
printf("大家辛苦了!\n");
return;/break;
}
printf("同志们好!\n");
}
三、函数的分类:
- 有参函数 无参数
- 有返回值函数和无返回值函数
- 库函数和用户自定义函数
- 值传递函数和地址传递函数
- 关于普通函数和主函数(main)
一个程序必须有且只能有一个主函数主函数可以调用普通函数,反之错误普通函数可以互相调用主函数是程序的入口,也是程序的出口
四、函数的声明
函数的调用和函数定义的顺序:
1.如果函数调用写在了函数定义的前面,则必须加函数的前置声明
2.函数的前置声明:
- 告诉编译器即将可能出现的若干个字母代表的是一个函数;
- 告诉编译器即将可能出现的若干个字母所代表的函数的形参和返回值的具体情况;
- 函数声明是一个语句,末尾必须加分号;
- 对库函数的声明是通过# include <库函数所在的文件的名字.h>
void f();
int main(void){
f();
return 0;
}
void f(){
printf("hah\n");
}
五、形参和实参
- 个数相同
- 数据类型必须相互兼容
- 位置一一对应
void f(int i,float x){
printf("%d\n",i);
}
int main(void){
f(5,6.6);
return0;
}
六、递归
简单来说,就是一个函数直接或间接调用自身的一种方法。通常递归可以将一个复杂的大型问题层层转化为一个与原问题相似的规模较小的问题来求解。它的核心思想是把大事化小。
边栏推荐
猜你喜欢

Memory leak

易观分析《2022年中国银行业隐私计算平台供应商实力矩阵分析》研究活动 正式启动

《数字经济全景白皮书》消费金融数字化篇 重磅发布

Web3 that unleashes the value of the Internet

让企业数字化砸锅和IT主管背锅的软件供应链安全风险指南

春风动力携手华为打造智慧园区标杆,未来工厂创新迈上新台阶

Build halo blog in arm version rk3399

POI excel conversion tool

Openharmony - detailed source code of Kernel Object Events

应用实践 | 10 亿数据秒级关联,货拉拉基于 Apache Doris 的 OLAP 体系演进(附 PPT 下载)
随机推荐
Can only one task be submitted by one table if the flinkcdc is submitted by flinksql? When there are thousands of watches
How does the computer check whether the driver is normal
sql计算每日新增用户、及留存率指标
带你手把手实现grafana双轴图
请问下flinkcdc用flinksql提交的话只能一个表提交一个任务吗?那有几千张表的时候还能这么
福建的朋友们,你们的养老保险上云啦!
Rigid error: could not extract PIDs from PS output PIDS: [], Procs: [“bad pid
视频压缩处理之ffmpeg用法
Find out the users who log in for 7 consecutive days and 30 consecutive days
Cvpr2022 | Zhejiang University and ant group put forward a hierarchical residual multi granularity classification network based on label relation tree to model hierarchical knowledge among multi granu
i人事HR系统上架企业微信ISV,增强企微在服务连锁零售等行业深度应用
列表加入计时器(正计时、倒计时)
牛津大學教授Michael Wooldridge:AI社區近40年如何看待神經網絡
grafana绘制走势图
PCL 计算平面三角形外接圆的圆心和半径
math_证明常用等价无穷小&案例&代换
Try except add auxiliary new column
PCL 环境下安装配置CGAL 5.4.1
Native implementation Net5.0+ custom log
Differences and relations among rxjs map, mergemap and switchmap