gpt4 book ai didi

c++ - 模块化功能背后的逻辑

转载 作者:搜寻专家 更新时间:2023-10-31 00:55:22 26 4
gpt4 key购买 nike

我不明白为什么 mysteryfunction(y) 会等于 40当我 int mysteryFunction(int, int =2) 时。谁能给我解释一下?

最好的MM

#include <iostream>
using namespace std;

int mysteryFunction (int, int = 2);

int main()
{
int x = 10, y = 20;
cout << mysteryFunction (y);

}

int mysteryFunction (int x, int y)
{
return x * y;
}

最佳答案

mysteryFunction() 的声明中,第二个参数被分配了一个默认值2,所以如果你只用一个参数调用它,第二个参数 y 将为 2

因此执行 mysteryFunction(20) 与执行 mysteryFunction(20, 2) 基本相同,根据您的代码应该返回 20 * 2 = 40。

您可能对作为第一个参数传递给 mysteryFunction() 的变量命名为 y 感到困惑,这与其定义中的第二个参数相同.但是,这些是完全不同的变量。事实上,如何调用它们并不重要,只有参数/参数的位置很重要(如果考虑函数重载,还有它们的类型)。

关于c++ - 模块化功能背后的逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42240886/

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