news 2026/6/22 17:55:32

一段代码教你搞定C语言中函数的知识点

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一段代码教你搞定C语言中函数的知识点

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdbool.h>

#include "behand.h"//包含头文件,就可以使用(拷贝内容)
//模块化设计

//静态库:搜索属性将project1编译成静态库lib,将lib和.h文件出售
//导入静态库才可使用 #pragma comment(lib,"文件名")

//函数:子程序,负责完成某项特定的任务,且具备相对独立性
//一般有输入参数和返回值,提供对过程的封装和对细节的隐藏
//函数由函数名,函数参数,返回类型,函数体组成
//函数是可以嵌套调用,但不能嵌套定义

//1.库函数 www.cplusplus.com查看。学会看文档。
//IO函数,字符串操作函数,字符操作函数,数学函数,时间函数...
//库函数的使用必须包含头文件
//2.自定义函数


//函数的定义
//未写返回类型时默认为int(不建议)
int get_max(int x,int y)
{
return (x > y ? x : y);
}

void swap(int* px,int* py)
{
/*
int temp;
temp=px;
px=py;
py=temp;
//为什么功能没有实现?
//x,y均为独立的空间,退出函数时a,b任为原来的空间,所以没有交换
//当实参传递给形参时,形参是实参的一份临时拷贝,对形参的修改不会影响实参
*/
int temp;
temp=*px;
*px=*py;
*py=temp;
}

int ADD(int x, int y)
//不调用函数,形参x,y不占用空间
//调用时才被分配空间,函数结束自动销毁
{
return (x+y);
}

//判断是否为素数
bool sushu(int x)
//bool类型:用来表示真假的变量
{
int i=0;
if (x == 0 || x == 1)
{
return false;
}
for (i=2;i < ((x+1)/2);i++)
//遍历看是否有约数
{
if (x % i == 0)
{
return false;
}
}
if (i == ((x +1)/ 2))
{
return true;
}

}

//判断是否为闰年
void year(int x)
{
if (x % 4 == 0 && (x % 100 != 0 || x % 400 == 0))
{
printf("闰年\n");
}
else
{
printf("不是闰年\n");
}
return 0;
}

int binary_search(int arr[],int k,int sz)//形参arr本质是指针
{
int left=0;
int right=sz-1;
while (left <= right)
{
int mid=left+(right-left)/2;
if (arr[mid] < k)
{
left=mid+1;
}
else if (arr[mid] > k)
{
right=mid-1;
}
else
{
return mid;
}
}
return -1;//找不到
}

void ADD_one(int* x)
{
(*x)++;
return 0;
}

int main() //main函数中是有参数的
{
//文档阅读memset函数功能
char arr[20]="hello world";
memset(arr+1,'x',5);
//memory:内存 set:设置
printf("%s\n",arr);

int a=10;
int b=20;
//链式访问
printf("%d\n", get_max(a,b));//函数的调用

printf("交换前:a=%d,b=%d\n", a, b);
swap(&a,&b);
//&a,&b:实际参数
//将a与b的地址交给函数,这样函数与函数直接在数值上就建立了联系
printf("交换后:a=%d,b=%d\n", a,b);

//实参可以是常量,变量,表达式,函数等
printf("1+2+a+3=%d\n", ADD(ADD(1,2+a),3));
//无论实参是何种类型的值,在进行函数调用时,它们必须要有确定的值,以便把值传给形参

//什么时候传地址,什么时候不传?
//在函数内部是否想改变实参的值

//传值调用:ADD()
//函数的形参与实参分别占用不同的内存块,对形参的修改不会影响实参
//传址调用:swap()
//在函数外部创建变量的内存地址传递给函数参数,使得函数与函数外部的变量建立真正的联系

for (int u = 0;u < 99;u++)
{
if (sushu(u))
{
printf("%d ",u);
}
}
printf("\n");

year(2026);

int arr1[]={1,2,3,4,5,6,7,8,9,10};
int sz=sizeof(arr1)/sizeof(arr1[0]);
//数组传参传的是首元素地址,而不是整个数组,所以在函数内部计算参数部分数组大小是不准确的
int ret=binary_search(arr1,7,sz);

if (ret == -1)
{
printf("找不到\n");
}
else
{
printf("找到了,下标为%d\n",ret);
}

int num=0;
ADD_one(&num);
printf("%d\n",num);

//链式访问的前提是函数有返回值
printf("%d\n",printf("%d",printf("%d",43)));
//printf函数返回值是打印的字符的个数

behand(1);

return 0;
}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/12 17:40:32

ZXPInstaller完整指南:免费开源解决Adobe扩展安装烦恼

ZXPInstaller完整指南&#xff1a;免费开源解决Adobe扩展安装烦恼 【免费下载链接】ZXPInstaller Open Source ZXP Installer for Adobe Extensions 项目地址: https://gitcode.com/gh_mirrors/zx/ZXPInstaller 还在为Adobe扩展安装的繁琐流程而头疼吗&#xff1f;ZXPIn…

作者头像 李华
网站建设 2026/6/14 0:28:44

Go语言编写高性能代理服务提升并发能力

Go语言构建高性能代理服务的实践与思考 在当今AI应用快速落地的背景下&#xff0c;如何高效调度和管理模型推理任务&#xff0c;已成为系统架构中的关键一环。以“DDColor黑白老照片智能修复”这类典型图像处理服务为例&#xff0c;用户上传一张老旧照片&#xff0c;期望在几秒…

作者头像 李华
网站建设 2026/6/20 6:18:06

Node.js脚本监听文件夹自动触发DDColor处理

Node.js脚本监听文件夹自动触发DDColor处理 在家庭相册数字化项目中&#xff0c;你是否曾为上百张泛黄的黑白老照片而头疼&#xff1f;一张张手动上传、选择模型、点击运行——不仅耗时费力&#xff0c;还容易出错。有没有可能让整个过程“放进即出”&#xff0c;完全无需干预&…

作者头像 李华
网站建设 2026/6/15 1:18:38

ncmdumpGUI:Windows平台下NCM文件转换的终极解决方案

ncmdumpGUI&#xff1a;Windows平台下NCM文件转换的终极解决方案 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换&#xff0c;Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 在数字音乐时代&#xff0c;网易云音乐用户经…

作者头像 李华
网站建设 2026/6/18 14:39:47

突破性性能优化:魔兽争霸3帧率跃迁实战方案

突破性性能优化&#xff1a;魔兽争霸3帧率跃迁实战方案 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 追求《魔兽争霸3》性能突破与帧率优化是每个进…

作者头像 李华
网站建设 2026/6/18 22:48:25

Qwen3-14B震撼登场:新一代AI推理模式无缝切换体验

Qwen3-14B震撼登场&#xff1a;新一代AI推理模式无缝切换体验 【免费下载链接】Qwen3-14B Qwen3-14B&#xff0c;新一代大型语言模型&#xff0c;支持思考模式与非思考模式的无缝切换&#xff0c;推理能力显著提升&#xff0c;多语言支持&#xff0c;带来更自然、沉浸的对话体验…

作者头像 李华