15.C语言形式参数和实际参数的介绍及函数总结

news2024/12/24 9:16:34

形参和实参的介绍及函数总结

  • 1.形式参数和实际参数
  • 2.获取两个最大的数
  • 3.关于函数的一些总结

1.形式参数和实际参数

  • 实际参数可以是常量、变量、表达式

    y = get(1);//常量
    y = get(x);//变量
    y = get(x+1);//表达式
    
    
  • 形参和实参数值相同,地址不同(传递参数是数值的传递)。

    #include <stdio.h>
    
    //变量四要素:名,类型,值,地址
    int test(int x){//形式参数
    	printf("test的x地址是%p,数值是%d\n",&x,x);
    	return 0;
    }
    
    int main(){
    	int x;
    	int y;
    
    	puts("请输入一个数:");
    	scanf("%d",&x);
    	printf("main的x地址是%p,数值是%d\n",&x,x);
    	
    	y = test(x);//实际参数
    	return 0;
    }
    
  • 局部变量作用在所在变量的代码区域内

    全局变量作用在该文件夹内整个代码内

    #include <stdio.h>
    int O;//全局变量:这个文件内的代码区域都有效
    //变量四要素:名,类型,值,地址
    int test(int x){//形式参数:保存在栈,被调用的时候才会申请内存,调用结束后,内存自动释放
    	printf("test的x地址是%p,数值是%d\n",&x,x);
    	return 0;
    }
    
    int main(){
    	int x;
    	int y;
    
    	puts("请输入一个数:");
    	scanf("%d",&x);
    	printf("main的x地址是%p,数值是%d\n",&x,x);
    	
    	y = test(x);//实际参数
    	return 0;
    }
    
  • 三目运算符

    z = x>y?x:y;
    //x是否大于y
    //是:输出x
    //否:输出y
    

2.获取两个最大的数

  • 比较大小

    #include <stdio.h>
    
    int test(int x,int y){
    	int z;
    	if(x>z){
    		z = x;
    	}else{
    		z = y;
    	}
    }
    int main(){
    	//1.定义所需要的变量
    	int data1;
    	int data2;
    	int big;
    	
    	//2.提示输入
    	puts("请输入两个数");
    	
    	//3.输入两个数
    	scanf("%d%d",&data1,&data2);
    	
    	//4.函数调用
    	big = test(data1,data2);
    	
    	//5.输出结果			
    	printf("数据是:%d %d 最大的数:%d",data1,data2,big);
    	return 0;
    }
    
  • 两个浮点数的比较

    #include <stdio.h>  
      
    float test(float x, float y) {  
        float z;  
        if (x > y) {  
            z = x;  
        } else {  
            z = y;  
        }  
        return z; // 返回较大的数  
    }  
      
    int main() {  
        // 1. 定义所需要的变量  
        float data1;  
        float data2;  
        float big;  
          
        // 2. 提示输入  
        puts("请输入两个数");  
          
        // 3. 输入两个数  
        scanf("%f %f", &data1, &data2);  
          
        // 4. 函数调用  
        big = test(data1, data2); // 接收 test 函数的返回值  
          
        // 5. 输出结果  
        printf("数据是: %f %f 最大的数: %f", data1, data2, big);  
        return 0;  
    }
    

3.关于函数的一些总结

  • 说明

在这里插入图片描述

  • 举例子:

    1. 函数声明之前:会产生警告
    2. 函数声明之后:不会产生警告

    在这里插入图片描述

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

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

相关文章

全能数据分析工具:Tableau Desktop 2019 for Mac 中文激活版

Tableau Desktop 2019 一款专业的全能数据分析工具&#xff0c;可以让用户将海量数据导入并记性汇总&#xff0c;并且支持多种数据类型&#xff0c;比如像是编程常用的键值对、哈希MAP、JSON类型数据等&#xff0c;因此用户可以将很多常用数据库文件直接导入Tableau Desktop&am…

python_基础编程_字典、集合

字典类型&#xff1a; 一、什么是字典 字典&#xff1a;是py内置的数据结构之一&#xff0c;与列表一样是一个可变的序列&#xff0c;以键值对的方式存储数据&#xff0c;是一个无序的序列 二、字典的原理 实现原理&#xff1a;Py根据key查找value所在的位置 三、字典的创…

Redhat 7.9上配置达梦数据库的DM 数据守护(DM Data Watch)

Redhat 7.9上配置达梦数据库的DM 数据守护&#xff08;DM Data Watch&#xff09; 一 基础环境 端口说明&#xff1a; 注&#xff1a; 主库已经安装软件&#xff0c;及创建数据库实例。并已开启归档模式。 [dmdbatest1 tool]$ disql sysdba/Dameng123 服务器[LOCALHOST:523…

Cuda入门

文章目录 下载使用NsightAPI__ldg 函数实现1. Sigmoid2. warpReduceSum 参考学习资料 下载使用Nsight https://developer.nvidia.com/nsight-systems/get-startedsudo ln -s /opt/nvidia/nsight-systems/2024.4.1/bin/nsys /bin/nsysnsys profile --statstrue addAPI __ldg …

kotlin协程-- 基础概念 ①|创建和使用

引言 首先先说一些相关概念 1.并发与并行 在操作系统中我们曾经学到过并发与并行 并发: 是同一个时刻只有一条指令在执行,其他指令没有再执行,但是由于CPU的时间片特别短,导致多个指令来回切换的时间间隔特别短,就好像是同一时间多条指令在执行。单核CPU与多核CPU都可以进…

渗透测试之漏洞 ms08-067 利用实验

实验背景 在安全服务项目中&#xff0c;需要对系统进行风险评估&#xff0c;其中风险评估的第一步:漏洞扫描即漏扫&#xff0c;在客户授权的前提下&#xff0c;对授权目标实施扫描并生成漏扫报告;在漏扫结束后&#xff0c;为了其准确性和完整性&#xff0c;还需对目标进行渗透…

FPGA FIFO IP核(3)- 仿真

仿真思路 如何在写入标志信号&#xff08;写入请求信号&#xff09;有效时将数据写入到FIFO中&#xff1f; 在调用模块代码中&#xff0c;pi_flag每四个时钟周期产生一个有效信号&#xff0c;即写请求信号。每次当pi_data检测到pi_flag信号有效时加1&#xff0c;从0~255循环变…

PDF怎么压缩?在线pdf压缩VS PDF压缩软件,谁更好用?10款工具详细多方位测评

PDF怎么压缩&#xff1f;PDF文件压缩可以使用本地文件压缩软件&#xff0c;也可以在网页上使用在线压缩工具一键压缩。 在日常工作和生活中&#xff0c;PDF文件因其跨平台性和良好的保持格式不变的能力而广受欢迎。然而&#xff0c;随着PDF文件内容的增加&#xff0c;文件大小也…

【JavaScript】详解Day.js:轻量级日期处理库的全面指南

文章目录 一、Day.js简介1. 什么是Day.js&#xff1f;2. 安装Day.js 二、Day.js的基本用法1. 创建日期对象2. 格式化日期3. 解析日期字符串4. 操作日期5. 比较日期 三、Day.js的高级功能1. 插件机制2. 国际化支持 四、实际应用案例1. 事件倒计时2. 日历应用 在JavaScript开发中…

如何免费实现网站HTTPS访问

在当今数字化的世界中&#xff0c;网络安全问题愈发凸显其重要性。对于网站而言&#xff0c;实现HTTPS访问已经成为提升用户信任度和保障数据安全的重要手段。然而&#xff0c;对于许多小型网站和个人博客来说&#xff0c;购买SSL证书可能是一笔不小的开销。下面将介绍如何免费…

基于微信小程序+SpringBoot+Vue的儿童预防接种预约系统(带1w+文档)

基于微信小程序SpringBootVue的儿童预防接种预约系统(带1w文档) 基于微信小程序SpringBootVue的儿童预防接种预约系统(带1w文档) 开发合适的儿童预防接种预约微信小程序&#xff0c;可以方便管理人员对儿童预防接种预约微信小程序的管理&#xff0c;提高信息管理工作效率及查询…

【数据结构】单链表带头双向循环链表的实现

一、链表的概念及结构 1.链表的概念 概念&#xff1a;链表是一种物理存储结构上非连续、非顺序的存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的指针链接次序实现的 。 2.链表的结构 一般讲的链表包括数据域和指针域&#xff1a; 二、链表的种类 实际中链表的结构…

云HIS系统源码,业务云协同和数据云协同的数字化医院信息系统

云HIS是利用云计算、大数据、物联网、移动互联网等技术&#xff0c;打造的一个安全、便捷、共享、协同的医疗互联网云生态平台。核心功能是业务云协同和数据云协同。云HIS具有可扩展、易共享、易协同、低成本、体验号、更便捷、易维护的优势&#xff0c;重新定义了数字化医院信…

Intel(R) Wireless-AC 9462 WLAN已关闭开不起来的可能原因

最近给老电脑机械师T90重装系统&#xff0c;装好各种驱动之后&#xff0c;发现无线功能开不起来&#xff0c;WLAN已关闭不管怎么操作都开不起来 最后尝试把笔记本的无线网卡重新插了一下就正常了

freertos的学习cubemx版

HAL 库的freertos 1 实时 2 任务->线程 3 移植 CMSIS_V2 V1版本 NVIC配置全部是抢占优先级 第四组 抢占级别有 0-15 编码规则&#xff0c; 变量名 &#xff1a;类型前缀&#xff0c; c - char S - int16_t L - int32_t U - unsigned Uc - uint8_t Us - uint…

sheng的学习笔记-AI-公式-指数加权移动平均(EWMA)

AI目录&#xff1a;sheng的学习笔记-AI目录-CSDN博客 基础知识 指数加权移动平均&#xff08;Exponential Weighted Moving Average&#xff09;&#xff0c;是一种常用的序列处理方式 看例子&#xff0c;首先这是一年365天的温度散点图&#xff0c;以天数为横坐标&#xff0…

C++进阶(9)C++11

个人主页&#xff1a;仍有未知等待探索-CSDN博客 专题分栏&#xff1a;C 目录 一、统一列表初始化 二、变量类型推导 1、auto 2、decltype 3、typeid 三、左值/右值 1、左值引用/右值引用&#xff08;粗&#xff09; 2、右值 3、右值引用&#xff08;细&#xff09; 1…

135.分发糖果,遍历方向+candy选取的详解

力扣135分发糖果 题目思路代码 题目 https://leetcode.cn/problems/candy/description/ 老师想给孩子们分发糖果&#xff0c;有 N 个孩子站成了一条直线&#xff0c;老师会根据每个孩子的表现&#xff0c;预先给他们评分。 你需要按照以下要求&#xff0c;帮助老师给这些孩子…

【Python机器学习】朴素贝叶斯——使用Python进行文本分类

目录 准备文本&#xff1a;从文本中构建词向量 训练算法&#xff1a;从词向量计算概率 测试算法&#xff1a;根据现实情况修改分类器 准备数据&#xff1a;文档词袋模型 要从文本中获取特征&#xff0c;需要先拆分文本。这里的特征是来自文本的词条&#xff0c;一个词条是字…