#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) 里面为什么要用&,是什么意思?
你这不是C语言。显然是C++。只有C++才会有using和namespace。
int & y 是指 y 是 int 的引用。引用是C++特有的语法。和C语言指针很接近。
引用会改变外部参数的值。如果不是引用,只会改变内部参数,不会有这样的效果。
建议你仔细翻阅 C++ Primer 或 C++ Primer Plus。看清作者,老外写的(国内有山寨书不要买)。
如果有的话就查阅就可以了。讲解非常细致。
这个叫引用,表示函数内修改了这个参数,那么会作用到调用它的程序里。在这里,x y作为所有递归函数共享的全局变量。
首先,这个是c++,其次,& 用于声明一个引用。作用和指针类似,但本质上又不同,想了解引用可以看看相关内容
这是一个c++程序!在传参的时候用的是引用的方法!代替了传值和传址!
& 表示引用,相当于给参数起了一个别名,这个程序是C++程序
引用:给已定义的变量起一个新的名字 引用必须初始化,一个变量可取多个别名,引用只能在初始化时引用一次,不能改变为引用其他变量。
如果函数中参数是类型加引用,那么形参就是实参的一个别名
你可以看一下这篇博客,里面有C++基础知识,以及引用的讲解
http://blog.csdn.net/valdc_morning/article/details/59483741