为了账号安全,请及时绑定邮箱和手机立即绑定

void+函数的使用方法?

void+函数的使用方法?

守着星空守着你 2018-12-18 12:14:39
举个例子#include<int a[ ]>void sum(int a[ ]){ a[0]=a[-1]+a[1]; }main(){ int a[10]={1,2,3,4,5,6,7,8,9,10};sum(&a[2]);printf("%d\n",a[2]);}void 不是指空返回值的意义吗,那么这段程序的输出应该是3啊为什么运算的结果会返回为 2+4=6?
查看完整描述

1 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

因为它的参数是一个数组,也就是说是一个指针
当你把a[2]的地址传进去时,在里面的操作其实和在外面操作没有区别,都是操作你传进去的数组(具体你去看看函数参数的传值与传地址的差别,就明白了)。
上面你传的是下标为2的元素的地址,相当于从3那个位置开始操作,
所以,a[-1]=2,a[1]=4; 所以就得到那个结果了。
另外,想提醒你一点,最好不要a[-1]这种整,假如你传的不是a[2]的地址,而是a[0]的地址
就越界了,你不信你试试。

查看完整回答
反对 回复 2019-01-05
  • 1 回答
  • 0 关注
  • 479 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信