传值与传址问题

news2024/12/29 10:27:43

传值与传址实例

2023年上半年软考真题:

22、设函数foo和hoo的定义如下图所示,在函数foo中调用函数hoo,hoo的第一个参数采用传引用方式(call by reference),第二个参数传值方式(call by value),那么函数foo中的print(a,b)将输出()

 

A.8,5
B.39,5
C.8,40
D.39,40

参考答案: B

答案与解析

试题难度:容易

  • 知识点:程序设计语言基础>传值与传址
  • 试题解析:

根据题干描述的调用过程,hoo()第个参数是引用调用个参数是传值调用,因此,在hoo()中对m的修改最终会影响到原foo()函数中传递的参数a,也就是最终a打印的值。
根据hoo()函数过程,b初始传参为原m=5,此时m=x*m=8*5=40(注意这里的m是局部变量,只在hoo()使用),x初始传参为原a=8,此时x=m-1=40-1=39,最终全局变量a值为39。(注意这里的原a是全局变量,在hoo()参数中可以理解为别名为x,现m是局部变量,也就是之前求取的5)。

举一反三: 2020年第 39 题

函数foo()、hoo0定义如下,调用函数hoo()时,第-个参数采用传值(call by value)方式,第二个参数采用传引用(call by reference)方式。设有函数调(函数foo(5),那么"print(x)”执行后输出的值为(  )。

 

  • (A) 24
  • (B) 25
  • (C) 30
  • (D) 36

答案与解析

  • 试题难度:容易
  • 知识点:程序设计语言基础>传值与传址
  • 试题答案:[['A']]
  • 试题解析:

根据题干描述的调用过程,hoo()第一个参数是传值调用,第二个参数是引用调用,因此,在hoo()中对a的修改最终会影响到原foo()函数中传递的参数x,也就是最终x打印的值。
根据hoo()函数过程,x初始传参为原args=5,此时x=x-1=4(注意这里的x是局部变量,只在hoo()使用),a初始传参为原x=6,此时a=a*x=6*4=24,最终全局变量x值为24。(注意这里的原x是全局变量,在hoo()参数中可以理解为别名为a,现x是局部变量,也就是之前求取的4)。

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

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

相关文章

试用智能编程助手

1 简介 网传有了大模型之后,很多人都要失业了,其中也包括一部分程序员,确实大模型可以减轻开发者的工作量,但是具体到减轻了多少工作量,哪种类型的工作,学习成本,使用成本如何?不捧…

【前端】CSS垂直居中的7种方法

文章目录 line-height绝对定位margin:autoflex绝对定位margin:负值定位transformvertical-align:middledisplay:table-cell思维导图 前文:【前端】CSS水平居中的6种方法_karshey的博客-CSDN博客 有很多相似的部分。 line-height 适用于单行的行内元素设置line-he…

灵眸:2023年上半年中国主要消费领域宏观数据概览报告(附下载)

关于报告的所有内容,公众【营销人星球】获取下载查看 核心观点 2023年上半年中国社会消费品零售总额22.8万化元。2023年上半年中国电商实体商品消费总额达6.1万亿元,同比增长10.8%。2023年上半年中国餐饮、汽车消费均超2万化元,餐饮、金银珠…

【网络层+数据链路层】深入理解IP协议和MAC帧协议的基本原理

文章目录 前言一、IP协议二、MAC帧协议 1.以太网2.以太网帧(MAC帧)格式报头3.基于协议讲解局域网转发的原理总结 前言 为什么经常将TCP/IP放在一起呢?这是因为IP层的核心工作就是通过IP地址来定位主机的,具有将一个数据报从A主机…

搭建B端产品帮助中心这两点很重要,从客户“帮助中心”出发思考!

一款优质的产品若想要用户体验良好,除了需要客服解答外,一个全面完善的产品帮助中心也是必不可少的,尤其是对于B端产品来说,其重要性自然不言而喻。 产品帮助中心 因为帮助中心是一个产品的重要用户自助服务模块,包括…

华为OD机试真题 Java 实现【跳格子游戏】【2023 B卷 200分】,附详细解题思路

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷&#…

进销存管理系统(小杨国贸)springboot采购仓库财务java jsp源代码mysql

本项目为前几天收费帮学妹做的一个项目,Java EE JSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 一、项目描述 进销存管理系统(小杨国贸)spri…

SpringBoot 整合Swagger2

一、Swagger简介 Swagger是一套开源工具和规范,用于设计、构建和文档化RESTful Web服务。它允许开发人员定义API的各个方面,并生成易于理解的API文档和交互式API探索界面。同时,Swagger还提供代码生成工具,可自动生成与API交互的客…

公文撰写规范:提升文档质量和专业性

1.拼写和语法检查:仔细检查文档中的拼写错误和语法错误。确保单词的正确拼写,并使用正确的语法结构和标点符号。 2.信息准确性:核对文档中的事实和数据,确保其准确性。确认所有日期、数字和引用的信息是否准确无误。 3.文档结构和…

控制国外各类电液伺服阀放大器

控制通用型不带反馈信号输入的伺服阀放大器,对射流管式电液伺服阀、喷嘴挡板式电液伺服阀及国外各类电液伺服阀进行控制。 通过系统参数有10V和4~20mA输入指令信号选择; 供电电源: 24VDC(标准) 输出电流:最大可达10…

Kuebernetes资源控制管理

第四阶段 时 间:2023年8月11日 参加人:全班人员 内 容: Kuebernetes资源控制管理 目录 Kubectl命令工具 一、kubectl 命令行的语法 二、kubectl命令列表 三、使用 Kubectl 工具容器资源 (一)创建Pod &…

并发——ThreadLocal关键字详解

文章目录 前言ThreadLocal代码演示ThreadLocal的数据结构GC 之后key是否为null?ThreadLocal.set()方法源码详解ThreadLocalMap Hash算法ThreadLocalMap Hash冲突ThreadLocalMap.set()详解ThreadLocalMap.set()原理图解ThreadLocalMap.set()源码详解 ThreadLocalMap过…

游戏选香港主机会很卡吗?

​  经常会有用户问道:做游戏服务器,使用香港主机会很卡吗?要知道,游戏运营最看重的就是用户体验,而游戏流畅不流畅要看所使用香港服务器本身的稳定性。因此,卡不卡,这样的形式提问是比较笼统的&#xf…

【EI检索】第九届建筑、土木与水利工程国际学术会议(ICACHE 2023)

第九届建筑、土木与水利工程国际学术会议(ICACHE 2023) 2023 9th International Conference on Architectural, Civil and Hydraulic Engineering 第九届建筑、土木与水利工程国际学术会议(ICACHE 2023)将于2023年10月13-15日在中…

现代无人机技术

目录 1.发展 2.应用领域 3.对战争的影响 4.给人类带来的福利 5.给人类带来的坏处 1.发展 无人机的发展可以分为以下几个关键步骤: 1. 早期试验和研究:20世纪初,飞行器的概念开始出现,并进行了一些早期的试飞和实验。这些尝试包…

第一部分:核心容器

前言:学习路线 Spring就是一个轻量级的控制反转(IOC)和面向切面编程(AOP)的框架! 第一章:纯手写 一、核心概念 什么是IoC、IoC容器、bean、DI ? IoC:对象创建控制权由程…

springboot项目为什么加载不出来页面

路径啥的都没问题。hh,非常简单,因为springboot项目默认访问静态static文件,把那种静态图片放在static文件下就解决了。

订单支付超时未支付关闭订单的解决方案

订单支付超时未支付关闭订单的解决方案 假设有客户下了订单但是迟迟未曾支付,会产生什么样的问题呢,大家联想一下京东淘宝拼多多,想一下大家购物的场景中,人家是怎么做的,然后再看看我们这么这篇文章!&…

微信怎么恢复好友?这8个方法值得一试!

【微信之前忘记给别人备注名字,昨天清理好友时不小心误删了该怎么办啊!好尴尬!】 随着社交网络的快速发展,微信已成为我们生活中必不可少的交流工具。日积月累下来,微信里的联系人也就变得越来越多。但是,…

Map映射学习

一、Map的遍历 创建Map集合 Map<String, Integer> map new HashMap<>();添加元素 map.put("java", 99);map.put("c", 88);map.put("c", 93);map.put("python", 96);map.put("Go", 88); 遍历方法&#xff1a; …