gpt4 book ai didi

C++输出找出问题

转载 作者:太空宇宙 更新时间:2023-11-04 13:22:22 27 4
gpt4 key购买 nike

#include <iostream>
using namespace std;

void f(int& p)
{
p += 2;
}

int main()
{
int x = 10;
f(x);
int y = x + 1;
f(y);
cout << "x is " << x << endl;
cout << "y is " << y << endl;
system("PAUSE");
return 0;
}

现在答案是 x 是 12 而 y 是 15。

我有点理解 x 可能是 12。如果我做对了,请解释为

void f (int &p)
{
p += 2;
}

作为 int x = 10 所以你 10 += 2 是 12 所以 x 是 12。

但是我不太明白为什么y是15。

是不是因为我将 12 作为 x 用于 int y = x + 1 所以它是 12 + 1 即 13 然后 13 += 2 哪个是 15?

最佳答案

Is it because I use 12 as x for int y = x + 1 so it's 12 + 1 which is 13 and then 13 += 2 which is 15?

是的。 f 是一个函数,它通过引用 获取一个整数值并将其递增2。函数调用后,整数将永久改变。

int x = 10;
// `x` is 10.

f(x);
// `x` is now 12.

int y = x + 1;
// `y` is 13.

f(y);
// `y` is now 15.

关于C++输出找出问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34712086/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com