C语言学习-day19-函数2

自定义函数:自己定义的函数

以strcpy为例子:

自定义函数一样,需要函数名,返回值类型,函数参数。

函数的组成:

ret_type fun_name(para1, *)

{

       statement;//语句项

}

ret_type 返回类型

fun_name 函数名

para1 函数参数

举个例子写一个函数可以找出两个整数中的最大值:

int get_max(int x, int y)

{

    int z = 0;

    if (x > y)

         z = x;

    else

         z = y;

    return z;

}

验证下

int main()

{

    int a = 0;

    int b = 10;

   

    int max = get_max(a, b);

   

    printf("max=%d\n",max);

    return 0;

}

举个例子写一个函数可以交换两个整型的内容:

void swap(int x, int y)

{

    int z = 0;

    z = x;

    x = y;

    y = z;

}

int main()

{

    int a = 20;

    int b = 10;

   

    printf("a=%d b=%d\n", a, b);

    swap(a, b);

    printf("a=%d b=%d\n", a, b);

    return 0;

}

试一下!

不好使。这是因为a,b的空间和x,y的空间是独立空间,函数内的空间交换以后函数外的空间没有影响!

所以应该修改代码使用指针:

void swap(int* px, int* py)

{

    int z = 0;

    z = *px;

    *px = *py;

    *py = z;

}

int main()

{

    int a = 20;     //4个字节的空间

    int b = 10;

    printf("a=%d b=%d\n", a, b);

    swap(&a, &b);

    printf("a=%d b=%d\n", a, b);

    return 0;

}

成功了,也就是说我通过指针的方法,将swap(&a,&b)中的a,b指向函数swap外部的a与b的存储空间之中,使函数执行的操作为*pa和*pb的互换,这样就交换了函数外部变量的存储空间值。

函数中的参数也有分类,在函数调用的时候,swap(&a,&b)中的&a就属于实际参数。

函数创建的时候写的swap(int a,intb)这个int a就是形式参数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/737800.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

weiphp5.0存在远程代码执行漏洞

@[toc] 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。 1. weiphp5.0简介 微信公众号搜索:南风漏洞复…

c++ 开发环境 LNK1104: 无法打开文件“carve.lib” 已解决

别人分享, 和自己最近遇到问题一摸一样。以为没什么用的静态资源,结果 无法编译。 昨天安装配置了,结果今天早上打开电脑,所以dll的工程全部报错: 1>------ 已启动全部重新生成: 项目: Dll_test, 配置: Debug x64…

pycharm中连接远程服务器

文章目录 概要文件进行映射将本地的project和远程的project进行映射,一定要使用sftp本地文件和远程的位置配置不想将远程的文件同步时候,可以进行下面设置 配置远程服务器的python解释器需要setting-->python interpreter-->add---> on ssh选择…

《Vue3 基础知识》事件总线 bus(与Vue2 有差异,使用 mitt 库)

前言 Vue2 与 Vue3 事件总线区别 Vue2 使用 $on,$off 和 $once 实例方法,创建一个事件总线,可在整个应用中做全局事件监听;Vue3 移除 $on,$off 和 $once 实例方法 ,但提供了解决方案,使用库 m…

crossover玩不了qq游戏大厅怎么办 仍有五亿人坚持用QQ crossover玩游戏 Mac电脑玩QQ游戏

从1999年2月,QQ首个版本QICQ(OPEN-ICQ)上线。到2024年,靠着5亿月活用户,守住社交领域TOP2位置。你还记得QQ经典的铃声吗? 根据月狐数据2023年12月的统计,QQ月活跃账户数比微博和知乎加在一起还要…

分享10个ai人工智能ppt生成软件,一键轻松搞定PPT制作!

ai 人工智能发展至今,已经诞生了各式各样的 AI 软件,最常见的如 AI 写作软件、AI 绘画软件、AI 人工智能 ppt 生成器、AI 人工智能抠图软件等等。对每天要面对各类文档、演示文稿(PPT)的职场人来说,最被需要的 AI 软件…

颜色检测python项目

注意:本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站 ([www.aideeplearning.cn]) 什么是颜色检测? 颜色检测是检测任何颜色名称的过程。很简单不是吗?嗯,对于人类来说,这是一项极…

教你怎么写苹果群控系统!

在数字化时代,随着智能手机的普及和iOS系统的广泛应用,苹果设备的管理和控制变得日益重要,为了满足这一需求,苹果群控系统应运而生。 一、系统概述 苹果群控系统是一种能够对多台苹果设备进行集中管理和控制的软件系统。通过该系…

2024年会声会影 迎接来了七大新功能

我喜欢Corel VideoStudio 会声会影2024旗舰版,因为它使用起来很有趣。它很容易使用,但仍然给你很多功能和力量。VideoStudio让我与世界分享我的想法!“这个产品的功能非常多,我几乎没有触及它的表面,我可以做大量的编辑…

【Linux】权限管理(文件的访问者、类型和访问权限,chmod、chown、chgrp、umask,粘滞位)

目录 00.前言 01.文件访问者的分类 02.文件类型和访问权限 文件类型: 文件基本权限: 03.文件权限值的表示方法 04.访问权限的设置 (1)chmod (2)chown (3)chgrp &#xff0…

Linux:kubernetes(k8s)Deployment的操作(12)

创建deployment 命令 kubectl create deploy nginx-deploy --imagenginx:1.7.9 再去使用以下命令分别查询 ubectl get deploy kubectl get replicaset kubectl get pod 他是一个层层嵌套的一个关系 首先是创建了一个 deploy 里面包含着replicaset replicaset里面含有…

mysql中 COALESCE和CASE WHEN的使用以及创建或替换视图

create or replace view 自理能力评估视图 as SELECT ehr_zlnlpg.ID AS ID, ehr_zlnlpg.GRID AS GRID, ehr_zlnlpg.TJID AS TJID, ehr_grjbxx.Name AS 姓名, ehr_grjbxx.Sex AS 性别, ehr_grjbxx.Cardnum AS 身份证号, ehr_zlnlpg.SCORESUM AS 总…

代码随想录 贪心算法-中等题目-序列问题

376.摆动序列 376. 摆动序列 中等 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为 摆动序列 。第一个差(如果存在的话)可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。 例如, [1, 7…

ELEVENLABS AI在线AI语音合成工具,28种语言

一、Elevenlabs简介 ElevenLabs 可以使用合成语音、克隆语音或全新的「人工」语音将文本转化为语音,并且这些语音可以模仿不同性别、年龄和种族的声音。 ElevenLabs基于目前强大的生成式语音模型,提供文本生成语音、语音合成、语音克隆和语音识别分类功…

【好玩的游戏项目】在Linux系统下部署star-battle太空飞船射击小游戏

【好玩的开源项目】在Linux系统下部署 star-battle太空飞船射击小游戏 一、star-battle小游戏介绍1.1 star-battle小游戏简介1.2 star-battle小游戏玩法1.3 开源地址 二、本次实践介绍2.1 本地环境规划2.2 本次实践介绍2.3 Apache HTTP Server简介 三、安装httpd软件3.1 检查yu…

面试官:说说你对事件循环的理解

一、事件循环是什么 首先,JavaScript是一门单线程的语言,意味着同一时间内只能做一件事,但是这并不意味着单线程就是阻塞,而实现单线程非阻塞的方法就是事件循环 在JavaScript中,所有的任务都可以分为 同步任务&#…

如何保证消息不被重复消费?或者说,如何保证消息消费的幂等性?

一、面试官心理分析 其实这是很常见的一个问题,这俩问题基本可以连起来问。既然是消费消息,那肯定要考会不会重复消费?能不能避免重复消费?或者重复消费了也别造成系统异常可以吗?这个是 MQ领域的基本问题,…

还不知道快速原型设计?别担心,我们来解释给你听!

从一个想法到产品的实施是一个混乱的过程,毫无疑问,我们需要努力建立这个想法。但“光明”的想法是好是坏呢?幸运的是,我们有一个工具可以做到这一点——原型。原型是最终产品的模拟或样本版本,可用于发布前与用户反复…

部署私有KMS服务器,并设置自动激活Windows和office

介绍 vlmcsd是一个KMS激活服务器的模拟器,可以在Windows Server之外的平台上部署自己的KMS服务器。它是一个开源项目,由Wind4开发,目前在Linux上运行(包括Android、FreeBSD、Solaris、Minix、Mac OS、iOS和Windows等)…

【pycharm使用ssh连接服务器】

2、pycharm使用ssh连接服务器 1、具体流程2、一些需要注意的小问题2.1 更改代码地址2.2 本地代码上传到服务器2.3 在服务器的环境中上新安装库,但是pycharm检测不到 1、具体流程 打开pycharm – File – Setting 输入服务器的IP地址,端口号、登录账号名…