如何通过C ++中的函数初始化全局变量

时间:2015-09-08 13:00:26

标签: c++

我正在学习C ++。我想要一个函数来初始化我的变量。例如:

#include <iostream>

double a,b
void Initializer ( double x, double y)
{
    a = x;   //a and b are global variables.
    b = y;
}
int main()
{
    Initializer(0.,4.);
    std::cout<<a<<" "<<b<<std::endl;
    return 0;
}

但是,我为全局变量获取了垃圾。例如,我致电initializer(0.,4.),我希望a==0b==4;但是当我打印这些值时,它们分别不是0.4。

1 个答案:

答案 0 :(得分:1)

我没有看到您的代码有任何错误(格式除外)。这是在C和C ++中初始化全局变量的方法(完整的,格式化的示例):

#include <iostream>

void Initializer(double x, double y);

using namespace std;

double a, b;

void Initializer(double x, double y) {
    a = x;  // a and b are global variables.
    b = y;
}
int main() {
    Initializer(0.0, 4.0);
    cout << a << " " << b << endl;

    return 0;
}

请注意,以下行:cout << a << " " << b << endl;(以及相应的includeusing namespace std;)正在使用C ++流。其余的也可以编译为C代码。

如果你提供这样的双打,它也会更具可读性:Initializer(0.0, 4.0);