CSDN_ACM
NPC一H
采纳率76.9%
2017-03-12 03:04 阅读 1.2k
已采纳

C语言递归函数调用中&是什么意思?

#include

#include

using namespace std;

void f(int w,int n,int &x,int &y)

{

x=(n-1)/w;

y=(n-1)%w;

if(x%2!=0)  
    y=w-1-y;  

}

int main()

{

int w,m,n,x1,y1,x2,y2;

cin>>w>>m>>n;

f(w,m,x1,y1);

f(w,n,x2,y2);

cout<<abs(x1-x2)+abs(y1-y2)<<endl;

return 0;

}

//void f(int w,int n,int &x,int &y) 里面为什么要用&,是什么意思?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

5条回答 默认 最新

  • 已采纳
    u013066840 Xyino_Snake 2017-03-12 03:11

    你这不是C语言。显然是C++。只有C++才会有using和namespace。
    int & y 是指 y 是 int 的引用。引用是C++特有的语法。和C语言指针很接近。
    引用会改变外部参数的值。如果不是引用,只会改变内部参数,不会有这样的效果。
    建议你仔细翻阅 C++ Primer 或 C++ Primer Plus。看清作者,老外写的(国内有山寨书不要买)。
    如果有的话就查阅就可以了。讲解非常细致。

    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2017-03-12 03:06

    这个叫引用,表示函数内修改了这个参数,那么会作用到调用它的程序里。在这里,x y作为所有递归函数共享的全局变量。

    点赞 1 评论 复制链接分享
  • qq_34381081 qq_34381081 2017-03-12 03:11

    首先,这个是c++,其次,& 用于声明一个引用。作用和指针类似,但本质上又不同,想了解引用可以看看相关内容

    点赞 评论 复制链接分享
  • prefect_boy perfect_cat- 2017-03-12 04:05

    这是一个c++程序!在传参的时候用的是引用的方法!代替了传值和传址!

    点赞 评论 复制链接分享
  • ValDC_Morning ValDC_Morning 2017-03-12 04:08
       & 表示引用,相当于给参数起了一个别名,这个程序是C++程序
     引用:给已定义的变量起一个新的名字 引用必须初始化,一个变量可取多个别名,引用只能在初始化时引用一次,不能改变为引用其他变量。
    

    如果函数中参数是类型加引用,那么形参就是实参的一个别名
    你可以看一下这篇博客,里面有C++基础知识,以及引用的讲解
    http://blog.csdn.net/valdc_morning/article/details/59483741

    点赞 评论 复制链接分享

相关推荐