一道c++题中,“void func(int b[],int size)”函数中的关键句没看懂。

[复制链接]
查看11 | 回复4 | 2013-7-7 16:31:02 | 显示全部楼层 |阅读模式
在函数void func(int b[ ],int size);每次传入的地址都会被当做是b[0]的地址,而void(&b[1],int
size)就是传入b[0]后一项的地址,如果不错的话,输出的值是原数组的倒过来的;函数不错是个递归函数的典型,记住这个递归你基本上不用担心了...
回复

使用道具 举报

千问 | 2013-7-7 16:31:02 | 显示全部楼层
(下面的所有“第x个”都是以首项为“第0个”讨论的)&b[1]就是取数组b中地1个元素的地址,作用与(b+1)相同。func(&b[1],size-1);取数组第1个元素地址,并隐式转换为新数组首项地址,传递给函数参数整个函数用了递归写法(就是自己调用自己),其大致思路为:输出数组的第0个元素,并将数组的第1个元素当做新数组的第0个再...
回复

使用道具 举报

千问 | 2013-7-7 16:31:02 | 显示全部楼层
func这个函数的作用是倒序打印出数组b中的元素倒序打印出数组b中的元素可以看作是:先打印出数组b中的以第1号元素开始的子数组,然后再打印出第0号元素。显然这是个递归问题。...
回复

使用道具 举报

千问 | 2013-7-7 16:31:02 | 显示全部楼层
&b[1] 是把以b[1]为首地址的数组传递给fun();...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行