章节
问答
课签
笔记
评论
占位
占位

数组作为函数参数

前面我们学过,变量可以当作参数是吧!这里数组也是可以当做函数的参数滴,啊?什么?你问数组咋当参数?请看下面知识。

数组可以由整个数组当作函数的参数,也可以由数组中的某个元素当作函数的参数:

1、整个数组当作函数参数,即把数组名称传入函数中,例如:

2、数组中的元素当作函数参数,即把数组中的参数传入函数中,例如:

数组作为函数参数时注意以下事项:

1、数组名作为函数实参传递时,函数定义处作为接收参数的数组类型形参既可以指定长度也可以不指定长度。

2、数组元素作为函数实参传递时,数组元素类型必须与形参数据类型一致

任务

替换指定数组中的最大元素。要求指定整数为数组arr2中的第一个元素arr2[0]。

在代码编辑器中:

第22行填写相应代码

运行结果为

?不会了怎么办

1、整个数组当参数是如何传递的?

2、数组元素当参数是如何传递的?

3、参考代码

||
1
#include <stdio
    .h>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
提交
重置代码
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布

最新回答 / 一山之高
个人理解,仅作参考,arr是指针,指向的是一个地址,给函数的参数也是一个地址,就像房间一样,arr与arr1都有门牌号地址,进入的是同一个房间,改变了该房间内的物品,arr1进入时就变化了,而arr2[0]与value则是两个房间(不同的内存空间),只是房间摆设格局是一样的(数值一样),但value使用完了就会清空(函数运行结束),将空房腾出,并不会影响arr2[0]

最新回答 / 叶子yesou
第一个位置是传递arr1整个数组,第二个位置只是传递arr2【0】这一个元素

最新回答 / weixin_幕布斯4024552
个人理解,仅作参考,arr是指针,指向的是一个地址,给函数的参数也是一个地址,就像房间一样,arr与arr1都有门牌号地址,进入的是同一个房间,改变了该房间内的物品,arr1进入时就变化了,而arr2[0]与value则是两个房间(不同的内存空间),只是房间摆设格局是一样的(数值一样),但value使用完了就会清空(函数运行结束),将空房腾出,并不会影响arr2[0]

最赞回答 / 小白菜慢慢长大
解决了#include <stdio.h>void replaceMax(int arr[],int value){    int max = arr[0];    int index = 0;    int i;    for(i=1;i<5;i++)    {        if(arr[i]>max)        {            max=arr[i];         //将数组中较大的数赋值给max            index = i;  //记录当前索引...

最赞回答 / 画个圈圈8298895
注意断句  将数组arr1    和数组arr2的第一个元素

已采纳回答 / 谷雨kk
int arr[5]={1,2,3,4,5};//声明数组temp(arr[3]);//执行temp函数,并将arr[3],也就是第四个元素,4,赋值给temp函数中的参数arrValueprintf输出arrValue就是4

最新回答 / 史小坑
你注意看头函数,已经定义了arr的数组了呢

最新回答 / weixin_慕盖茨2597418
因为开头的函数就相当于一个通式,像物理公式,只是带进去的数不一样而已,而这里的数组arr1和arr2的第一个元素就相当于算物理题的时候带进去的数字

最新回答 / 慕哥1519171
max最终是arr1中的最大元素,arr1[0]并没有被max替换。是max对应的arr1的最大元素,被传递过来的value(对应题目要求arr2的第一个元素)替换了。

最赞回答 / 慕桂英3456372
通过if语句遍历整个arr1[]选出最大的那个值然后输出

最赞回答 / weixin_慕盖茨2597418
因为开头的函数要想进行运算要求带入arr1整个数组和arr2[0],带入arr1全部是因为开头的函数是先暂时给max赋值为arr1[0],这是暂时的,函数赋值后立马从数组的第二个元素开始进行比较筛选,如果出现比第一个元素还大的数值就会再次赋值给max,这时Max就不再等于arr1[0]了

最新回答 / weixin_幕布斯4024552
个人理解,仅作参考,arr是指针,指向的是一个地址,给函数的参数也是一个地址,就像房间一样,arr与arr1都有门牌号地址,进入的是同一个房间,改变了该房间内的物品,arr1进入时就变化了,而arr2[0]与value则是两个房间(不同的内存空间),只是房间摆设格局是一样的(数值一样),但value使用完了就会清空(函数运行结束),将空房腾出,并不会影响arr2[0]

最新回答 / 慕仔8077962
下标,arr1[]={10,41,3,12,22};arr1[0]=10  arr1[1]=41    arr1[2]=3 ————[ ]里的数字——————————————————————————————————            max=arr[i]  ;       //将数组中较大的数赋值给max            index = i;  //记录当前索引        }                    }      arr[index] = value;—————————————...
全部 我要发布
最热 最新
只看我的

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

账号登录 验证码登录

遇到问题
忘记密码

代码语言