初见c语言的函数复盘
一、 初见函数#define _CRT_SECURE_NO_WARNINGS #includestdio.h ​ void sum(int begin, int end) { int i; int sum 0; for (i begin;i end;i) { sum i; } printf(%d到%d的和是%d\n, begin, end, sum); } int main() { sum(1, 10); sum(20, 30); sum(35, 45); ​ return 0; }求和函数void sum(int begin,int end){int i;int sum0;for(ibegin;iend;i){sumi;}printf(%d到%d的和是%d\n, egin,end,sum)}函数编程中的函数一段封装好、可以重复调用的代码块用来完成某个特定功能。 数学函数是 (yf(x))代码函数也是返回值 f(参数)但含义不一样。一、函数的作用代码复用写一次多次调用不用重复复制代码模块化把大程序拆成多个小函数方便阅读、调试简化逻辑一个函数只做一件事二、C 语言函数分类1. 库函数系统自带直接用C 标准库提前写好的函数#include头文件就能调用printf()输出scanf()输入sqrt()求平方根math.hrand()随机数2. 自定义函数自己写自己定义功能格式返回值类型 函数名(参数列表) { 函数体; // 要执行的代码 return 返回值; }三、函数各部分详解① 返回值类型函数执行完可以返回一个结果给调用处。int返回整数double返回小数void无返回值函数不需要 return或者写return;② 函数名命名规则字母、数字、下划线不能数字开头见名知意如add、isPrime③ 参数列表形参int add(int a, int b)a,b叫形式参数形参只是占位符。调用的时候传入的值叫实际参数实参两种函数有参函数 / 无参函数// 无参函数void无返回 void printHello() { printf(hello); } ​ // 有参函数int返回值 int add(int a, int b) { return a b; }④ returnreturn 数据;终止函数把数据返回给调用者void函数可以不写 return写return;代表直接退出函数一旦执行 return函数立刻结束后面代码不再运行四、函数调用#include stdio.h ​ // 函数定义 int add(int a, int b) { return a b; } ​ int main() { int sum; sum add(3,5); // 调用函数3、5是实参 printf(%d, sum); return 0; }执行流程main→ 调用 add → 进入 add 函数执行 → return 结果 → 回到 main 继续往下跑main()也是一个函数C 程序入口永远是main函数。五、形参和实参特点值传递C 默认void change(int x) { x 100; } int main() { int a 10; change(a); printf(%d, a); // 输出还是10 }✅值传递只是把实参的值拷贝一份给形参函数内部修改形参不会影响外面原来的变量。✅ 形参和实参可以用相同名字同一个字母 / 变量名但是它们是两个完全独立的变量互不影响值传递。语法允许同名初学阶段为了不容易混淆推荐先使用不同名字比如形参 a,b实参 x,y区分口诀形参写在函数定义括号里属于函数内部实参写在函数调用括号里属于调用它的地方六、函数声明函数原型如果自定义函数写在main后面必须在 main 前面声明告诉编译器函数长什么样。#include stdio.h int add(int a, int b); // 函数声明原型 ​ int main() { int s add(2,3); return 0; } ​ int add(int a, int b) // 函数定义 { return ab; }声明可以只写类型参数名可省略int add(int, int);七、函数基础易错点参数之间用逗号隔开每个参数单独写类型❌int add(int a,b)✅int add(int a, int b)void函数不要 return 一个数值 ❌void test(){ return 1; }函数不能嵌套定义C 不允许函数里面再定义函数void f(){ void g(){ } // 错误C语言不支持函数嵌套定义 }✅ 函数可以互相调用可以嵌套调用九、几个核心概念一句话总结定义创造函数写完整代码声明告诉编译器函数信息调用使用这个函数形参函数定义里的变量占位实参调用时传入的真实数据值传递拷贝一份数据形参修改不影响外面例子1. 减法函数:#define _CRT_SECURE_NO_WARNINGS #includestdio.h int subNum(int a, int b) { int sum a - b; return sum; } int main() { int x, y, ret; printf(请输入两个数字\n); scanf(%d %d, x, y); ​ ret subNum(x, y); printf(%d-%d%d, x, y, ret); return 0; ​ }注意调用函数时不要写成“retint subNum(x,y);”

相关新闻

AnyPS5:模糊命名下的PS5兼容性技术解析

AnyPS5:模糊命名下的PS5兼容性技术解析

我无法基于当前输入内容生成符合要求的博文。原因如下:输入中仅提供了项目标题"AnyPS5",但未提供任何实质性的【项目正文】、【关键词】或【摘要描述】。全部字段为空或仅有占位符(如“最新网络热词:”后无内容&#xf…

2026/10/11 4:09:01 阅读更多 →
盖国强:2023数据技术嘉年华群星集结,当数据库大师遇见大师他们会谈论什么?...

盖国强:2023数据技术嘉年华群星集结,当数据库大师遇见大师他们会谈论什么?...

在历史上,总有一些群星闪耀的时刻,在不经意间,改变了世界的走向。01图灵奖的星光在数据库的赛道上,SIGMOD2002 就是这样一个群星闪耀的时刻,两位数据库领域的图灵奖获得者 Jim Gray 和 Michael Stonebraker 同时出席&a…

2026/10/11 4:09:00 阅读更多 →
盛最多水的容器:双指针高效解法与算法面试必学思路

盛最多水的容器:双指针高效解法与算法面试必学思路

1. 说真的,这道题我第一次也卡了很久如果你在刷力扣或者刷别的算法平台,这道"盛最多水的容器"基本是绕不过去的。它排在第97位,但热度一直很高,属于那种——看完题目觉得很简单,动手一写却不小心写了个三层循…

2026/10/11 4:09:00 阅读更多 →

最新新闻

你不知道的 Claude Code:架构、治理与工程实践

你不知道的 Claude Code:架构、治理与工程实践

写在前面:本文基于我近半年持续落地 Claude Code 的真实踩坑经验,前后两个账号每月投入 40 刀,算是交了不少学费。最开始我也只是把 Claude Code 当成普通聊天机器人来使用,但是很快就发现各种问题:会话上下文越来越杂…

2026/10/11 4:56:27 阅读更多 →
Seaborn入门:从matplotlib到统计图形可视化实战

Seaborn入门:从matplotlib到统计图形可视化实战

1. Seaborn到底解决了什么问题1.1 从matplotlib的"能画"到Seaborn的"能看"我最早做数据分析可视化是从matplotlib起步的。坦白说,matplotlib功能非常强大,几乎没有它画不出来的图,但默认样式总带着一股"科研报告感&…

2026/10/11 4:56:27 阅读更多 →
MCP协议握手与LangGraph多服务调用实战解析

MCP协议握手与LangGraph多服务调用实战解析

1. 这不是又一个“AI架构科普”,而是一次真实项目里抠出来的协议细节“MCP 技术分享:从协议握手到 LangGraph 多 Server 调用”——看到这个标题,我第一反应不是点开看,而是下意识翻出自己上个月压在项目根目录下的mcp-server-go日…

2026/10/11 4:56:27 阅读更多 →
Ledger被盗超9300万美元:攻击者提前数周布局,间谍模块与经销商易主引发猜测

Ledger被盗超9300万美元:攻击者提前数周布局,间谍模块与经销商易主引发猜测

助记词没有外泄,也未与外部设备交互,硬件钱包里的资产却在一夜之间被转走。10月9日,一场涉及超9300万美元的资产被盗事件,将老牌硬件钱包Ledger推上风口浪尖。随着事件持续发酵,从第三方经销商被曝悄然易主&#xff0c…

2026/10/11 4:56:27 阅读更多 →
Cron+System+MCP:打造AI Agent定时巡检与智能运维的完整实践

Cron+System+MCP:打造AI Agent定时巡检与智能运维的完整实践

把Cron、System、MCP这三个词拼在一起,最早是我在给一个内部工具做定时巡检时冒出来的念头。Cron大家熟,Linux/Unix下最经典的定时任务调度器;System指的是系统层面的状态采集、进程管理、资源监控这些基础设施能力;至于MCP&#…

2026/10/11 4:56:27 阅读更多 →
企业微信API开发:消息模板怎么设计才方便维护?

企业微信API开发:消息模板怎么设计才方便维护?

在企业微信消息推送项目中,订单通知、售后提醒和客户跟进消息往往有不同的格式。 如果每个业务模块都通过字符串拼接生成内容,后期修改文案时容易出现格式不统一、字段遗漏等问题。 可以考虑将消息内容与业务逻辑分开管理。 一、把固定内容和动态字段…

2026/10/11 4:55:26 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →