C语言递归中多一个&输出怎么不一样?

#include
#include
void GetPos(int w, int n, int& x, int& y) {
x = (n-1) / w + 1;
y = n % w;

if (y == 0) y = w;
if (x%2 == 0) { 
    y = w - y + 1;
}

}

int main() {
int w, m, n;
int x1, y1, x2, y2;
scanf("%d %d %d",&w,&m,&n);
GetPos(w, m, x1, y1);
GetPos(w, n, x2, y2);
printf("%d",abs(x1-x2) + abs(y1-y2) );

return 0;

}

//void GetPos(int w, int n, int& x, int& y) 为什么要多个&,没有&这个怎么输出不一样

1个回答

首先这是c++,你在c语言的书上找不到这个概念,要看c++的书。
之前回答你了,x y是引用,因此,每个函数内更改x y,则会影响上下层的x y,起到了全局变量的作用。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问