当前位置: 首页 > news >正文

C语言——函数的使用

无参无返回值

  • 语法格式如下:
// 函数定义
void 函数名() {函数体
}// 函数调用
函数名();
  • 函数名是标识符的一种,需要遵循规则
  • 函数只需要定义一次,反复调用
  • 只定义函数, 不调用函数, 函数永远不会被执行
  • 案例需求:
    • 编写一个函数,里面实现2个数字相加,并打印相加后的结果
    • 示例代码:
#include <stdio.h>// 函数定义
void my_add() {// 实现2个数字相加,并打印相加后的结果int res = 1 + 2;printf("res = %d\n", res);
}int main() {// 函数调用my_add();return 0;
}
  • 执行流程
    在这里插入图片描述

有参无返回值

  • 函数参数的作用:增加函数的灵活性
    • 可以根据需求在调用函数时, 通过参数传入不同的数据
  • 语法格式如下:
// 函数定义
void 函数名(形参列表) {函数体
}// 函数调用
函数名(实参列表);
  • 实训和形参的关系:从左往右,一一对应
  • 案例需求:
    • 编写一个函数,实现2个数相加,2个数通过参数传递
  • 示例代码:
#include <stdio.h>// 函数定义
void my_add(int a, int b) {// 实现2个形参相加,并打印相加后的结果int res = a + b;printf("%d + %d = %d\n", a, b, res);
}int main() {// 函数调用my_add(10, 20);return 0;
}

●执行流程
在这里插入图片描述

有参有返回值

返回值基本语法

  • 函数返回值的作用:函数外部想使用函数内部的数据
  • 语法格式如下:
// 函数定义
返回类型 函数名(形参列表) {函数体return 和返回类型一致的数据(或变量);
}// 函数调用
和返回类型一致的变量 = 函数名(实参列表);
  • return是函数的专属关键字,只能用在函数内容
  • 案例需求:
    • 编写一个函数,实现2个数相加,2个数通过参数传递,返回累加结果给外部使用
  • 示例代码:
#include <stdio.h>// 函数定义
int my_add(int a, int b) {// 实现2个形参相加,并返回累加的结果int res = a + b;return res;
}int main() {// 函数调用int temp = my_add(10, 20);printf("temp  = %d\n", temp);return 0;
}
  • 执行流程
    在这里插入图片描述

返回值注意点

  • return的作用是结束函数
    • 函数内,return后面的代码不会执行
  • 示例代码
#include <stdio.h>// 函数定义
void func() {printf("11111111111111111\n");return; // 结束函数,函数内后面代码不会执行printf("222222222222222222\n");
}int main() {// 函数调用func();return 0;
}

函数的声明

  • 如果函数定义代码没有放在函数调用的前面,这时候需要先做函数的声明
  • 所谓函数声明,相当于告诉编译器,函数是有定义的,再别的地方定义,以便使编译能正常进行
  • 注意:一个函数只能被定义一次,但可以声明多次
#include <stdio.h>// 函数的声明,分号不能省略
// 函数声明的前面可以加extern关键字,也可以不加
// extern int my_add(int a, int b);
int my_add(int a, int b);
// 另一种方式,形参名可以不写
// int my_add(int, int );int main() {// 函数调用int temp = my_add(10, 20);printf("temp  = %d\n", temp);return 0;
}// 函数定义
int my_add(int a, int b) {// 实现2个形参相加,并返回累加的结果int res = a + b;return res;
}

函数案例

  • 需求:自定义一个函数,返回2个整数的最大值
  • 示例代码:
#include <stdio.h>// 函数定义
int my_max(int a, int b) {if (a > b) {return a;} else {return b;}
}int main() {// 函数调用int res = my_max(100, 200);printf("res = %d\n", res);return 0;
}
http://www.lryc.cn/news/150188.html

相关文章:

  • DVWA XSS
  • 石油化工智慧安监方案:TSINGSEE青犀视频AI智能识别安全生产风险预警平台建设
  • R语言图形绘制
  • 2023第七届蓝帽杯 初赛 web LovePHP
  • Pytorch 的基本概念和使用场景介绍
  • git 基础入门
  • openssl 生成自签名证书
  • 微服务dubbo和nexus
  • uView1.0的Upload组件上传图片
  • 【LeetCode题目详解】第九章 动态规划part03 343. 整数拆分 96.不同的二叉搜索树 (day41补)
  • 半导体制造常用软件工具总结
  • 基于Python的IOS自动化测试环境搭建
  • 技术领导力实战笔记25
  • 设计模式-职责链+反射
  • Middleware ❀ Kafka功能与使用详解
  • python3.11教程1:python基础语法、程序控制、函数
  • 【C++】关于using namepace xxx 使用命名空间和冲突
  • Linux常用命令——cupsenable命令
  • 基于Stable Diffusion的AIGC服饰穿搭实践
  • 【 ARMv9 Cluster BUS QoS 配置】
  • 简单了解网络基本概念
  • 网络安全知识库
  • 无涯教程-JavaScript - FLOOR函数
  • 【LeetCode-中等题】146. LRU 缓存
  • 表白墙程序
  • git 本地仓库关联到远程仓库
  • Introducing Language Guidance in Prompt-based Continual Learning
  • Matlab(数值微积分)
  • 【数据结构回顾】
  • QT创建可移动点类