gpt4 book ai didi

c++ - 使用 void 函数在 main 函数中设置变量值

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:24:58 24 4
gpt4 key购买 nike

为什么 num1 的值等于 0?我不明白。为什么将 num1 传递给 getScore 函数并使用 cin 不会更改值?我如何根据 cin 的内容将其值更改为 score

#include <iostream>
using namespace std;

void getScore(double);

int main(int argc, const char * argv[]) {
double num1;
getScore(num1);
cout << "NUM 1 got set to " << num1 << endl;
return 0;
}

void getScore(double score) {
cout << "whats the score";
cin >> score;
cout << "num is " << score << endl;
}

最佳答案

您按值传递了 num1。这意味着 score 是一个新变量,其中复制了 num1 的值。

在这里您可能希望通过引用传递 num1。这是通过像这样声明和定义函数来完成的:

void getScore(double&);

void getScore(double& score) {
cout << "whats the score";
cin >> score;
cout << "num is " << score << endl;
}

与号 (&) 表示您正在传递对变量的引用,而不是存储在变量中的值的拷贝。通过传递引用,score 成为 num1 的一种“昵称”。这意味着将值设置为 score 会将该值真正设置为 num1

http://www.learncpp.com/cpp-tutorial/73-passing-arguments-by-reference/

关于c++ - 使用 void 函数在 main 函数中设置变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46719553/

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