如何将函数中的多个值传递给C++中的不同函数

How do I pass multiple values in a function to different functions in C++?

本文关键字:函数 C++ 值传      更新时间:2023-10-16

对于我的C++程序,我需要使用 3 个函数来要求用户输入质量、加速度和位移,计算力并在 diff 函数中使用这些输入,然后输出力并在第三个函数中工作。

我的问题是我在将质量、加速度和位移的值从第一个函数传递到第二个函数时遇到麻烦,以便我可以计算力和功。这是我到目前为止的代码


using namespace std;
string userName;
int amounts(float, float, float); //function prototype
int calcForceAndWork(float, float); //function prototype
;
int main()
{
    float mass, accleration, displacement;

    string userName;
    cout << "Hello user, what is your name?" << endl;
    cin >> userName;
    amounts(mass, accleration, displacement);
    cout << "Enter the mass value: " << endl;
    cin >> mass;
    cout << "Enter the displacement value: " << endl;
    cin >> displacement;
    cout << "Enter the accleration value: " << endl;
    cin >> accleration; 
    return 0;
}
int calcForceAndWork(float, float)
{
    amounts(mass, accleration, displacement);
    calcForceAndWork(force, work);
    double force, work;
    force = mass*accleration;
    work = force*displacement;
    return 0;
}

这是我的前 2 个函数。如何将质量、加速度和力的值从我的第一个函数传递到第二个函数?

怕你需要了解函数、返回值、按值传递与按引用传递等的绝对原始基础知识......

让我们保持非常简单。 只需使用"按值传递",并返回结果。下面是一个示例:

int getSum( int a, int b )
{
    return a + b;
}
int main()
{
    int myValue1 = 1, myValue2 = 2;
    int mySum = getSum( myValue1, myValue2 );
    return 0; //this is returned to the OS. 0 == no error, i.e. success
}
函数

主调用函数 getSum。 它将存储在名为 myValue1 和 myValue2 的变量中的值传递给该函数。 函数 getSum 将这些值接收到称为 a 和 b 的变量中。 它将它们相加并返回值。 该返回值存储在函数 main 的 mySum 变量中。 如果需要,可以将该 mySum 值传递给另一个函数。

在函数 main 的末尾,它返回 0。 这是一个"特殊"的回报。 main 是操作系统进入程序的入口点函数。 按照惯例,向操作系统返回 0 表示成功。 返回到操作系统的任何其他数字都被视为"错误代码"。