C++ 这个输出是如何产生的。解释(家庭作业帮助) B。第一个数字是通过引用传递的,因此会被更改。第二个数字是通过值传递的,这意味着在函数内部只有它的副本会被更改。为什么第一种情况下,B没有被修改,而第二种情况下它没有被修改,这并不奇怪?@molbdnilo我对此也感到惊讶,但是因为我不知道为什么在第一种情况下B是未修改的,所以我没有提出第二种情况的问题谢谢你的帮助,现在我明白你的意思了。谢谢你,

C++ 这个输出是如何产生的。解释(家庭作业帮助) B。第一个数字是通过引用传递的,因此会被更改。第二个数字是通过值传递的,这意味着在函数内部只有它的副本会被更改。为什么第一种情况下,B没有被修改,而第二种情况下它没有被修改,这并不奇怪?@molbdnilo我对此也感到惊讶,但是因为我不知道为什么在第一种情况下B是未修改的,所以我没有提出第二种情况的问题谢谢你的帮助,现在我明白你的意思了。谢谢你,,c++,C++,,因为函数不做任何事情来更改B(即第二个参数)的值。因此,它只输出之前的值 仔细观察,您的函数具有以下特征: void Revert(int&Num,int Last=2) 第一个参数是引用,因此当您在函数中更改它时,它存储的值(a)将在原始位置更改。但是,第二个参数Last仅作为副本接收,因此,当本地副本更改时,原始副本不会更改。函数按值获取其第二个参数,这意味着它将复制B。在中的任何更改都将还原为副本,而不是ode>B。第一个数字是通过引用传递的,因此会被更改。第二个数字是通过值传递的,这意

,因为函数不做任何事情来更改
B
(即第二个参数)的值。因此,它只输出之前的值

仔细观察,您的函数具有以下特征:

void Revert(int&Num,int Last=2)


第一个参数是引用,因此当您在函数中更改它时,它存储的值(a)将在原始位置更改。但是,第二个参数
Last
仅作为副本接收,因此,当本地副本更改时,原始副本不会更改。

函数按值获取其第二个参数,这意味着它将复制
B
。在
中的任何更改都将还原为副本,而不是ode>B
。第一个数字是通过引用传递的,因此会被更改。第二个数字是通过值传递的,这意味着在函数内部只有它的副本会被更改。为什么第一种情况下,
B
没有被修改,而第二种情况下它没有被修改,这并不奇怪?@molbdnilo我对此也感到惊讶,但是因为我不知道为什么在第一种情况下B是未修改的,所以我没有提出第二种情况的问题谢谢你的帮助,现在我明白你的意思了。谢谢你,