news 2026/3/14 22:05:14

一段代码教你搞定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/3/13 14:54:22

80亿参数推理新星!DeepSeek-R1-Llama-8B开源实测

80亿参数推理新星&#xff01;DeepSeek-R1-Llama-8B开源实测 【免费下载链接】DeepSeek-R1-Distill-Llama-8B 开源项目DeepSeek-RAI展示前沿推理模型DeepSeek-R1系列&#xff0c;经大规模强化学习训练&#xff0c;实现自主推理与验证&#xff0c;显著提升数学、编程和逻辑任务表…

作者头像 李华
网站建设 2026/3/12 20:58:40

QQ空间导出助手:5步轻松备份你的青春记忆

QQ空间导出助手&#xff1a;5步轻松备份你的青春记忆 【免费下载链接】QZoneExport QQ空间导出助手&#xff0c;用于备份QQ空间的说说、日志、私密日记、相册、视频、留言板、QQ好友、收藏夹、分享、最近访客为文件&#xff0c;便于迁移与保存 项目地址: https://gitcode.com…

作者头像 李华
网站建设 2026/3/14 11:37:58

如何免费重置JetBrains IDE试用期?3分钟掌握终极解决方案

还在为JetBrains IDE试用期到期而烦恼吗&#xff1f;ide-eval-resetter 这款开源工具能帮你轻松解决这个问题&#xff01;它专门用于重置IntelliJ IDEA、PyCharm、WebStorm等JetBrains系列开发工具的试用期限&#xff0c;让你无需付费即可继续享受专业开发功能。无论你是编程新…

作者头像 李华
网站建设 2026/3/12 15:20:34

3步搞定多游戏模组管理:XXMI启动器新手完全指南

3步搞定多游戏模组管理&#xff1a;XXMI启动器新手完全指南 【免费下载链接】XXMI-Launcher Modding platform for GI, HSR, WW and ZZZ 项目地址: https://gitcode.com/gh_mirrors/xx/XXMI-Launcher 还在为不同游戏的模组安装而烦恼吗&#xff1f;XXMI启动器为您带来终…

作者头像 李华
网站建设 2026/3/13 21:02:32

京东自动化脚本完全攻略:轻松实现任务自动化与京豆获取

京东自动化脚本完全攻略&#xff1a;轻松实现任务自动化与京豆获取 【免费下载链接】jd_scripts-lxk0301 长期活动&#xff0c;自用为主 | 低调使用&#xff0c;请勿到处宣传 | 备份lxk0301的源码仓库 项目地址: https://gitcode.com/gh_mirrors/jd/jd_scripts-lxk0301 …

作者头像 李华
网站建设 2026/3/14 2:59:35

HTML前端展示DDColor修复成果:构建在线老照片上色平台雏形

构建在线老照片上色平台&#xff1a;DDColor与ComfyUI的实战整合 在数字影像修复领域&#xff0c;一张泛黄的老照片往往承载着几代人的记忆。然而&#xff0c;传统的人工上色不仅耗时漫长&#xff0c;还高度依赖美术功底。如今&#xff0c;随着深度学习技术的成熟&#xff0c;A…

作者头像 李华