我不理解,求详细解答

img

x->y是形参传递 函数中的执行值不影响原来的值 所以x一直是初值 如果想要影响原值 那么要通过返回值或者指针 把y 定义成 int *y x传递时用 &x传递,要给y里的值变值时用 *y=一个值

有帮助的话麻烦采纳一下 谢谢

题中sub()函数的形参是 值传递,在main()函数内,x=0 , sub() 内部的参数影响不到外面的参数,所以结果是 0000

以下是引用传递的函数,只要在y参数前加一个“&”,这样最后结果会是 4321
void sub(int s[], int &y)
{
static int t=3;
y=s[t];t--;
}

参数还有一种指针传递方式,如sub(int s[], int *y)参数前加一个星号表示,它传递的是参数的地址