如何在C++中初始化许多局部变量

0 c++ variables

#include <iostream>
#include <iomanip>
using namespace std;

//Declares the prototype of function half().
float half1(float num1, float halfvalue1);
float half2(float num2, float halfvalue2);
float half3(float num3, float halfvalue3);

int main()
{
    //Declares variables
    float num1, num2, num3, halfvalue1, halfvalue2, halfvalue3;
    //asks for values
    cout << "Enter 3 real numbers and I will display their halves: " << endl << endl;
    //stores values
    cin >> num1, num2, num3;
    //return half and assign result to halfvalue
    halfvalue1 = half1(num1, 2.0);
    halfvalue2 = half2(num2, 2.0);
    halfvalue3 = half3(num3, 2.0);
    //set precision
    cout << fixed << showpoint << setprecision (3);
    //Prints message with results
    cout << halfvalue1 << halfvalue2 << halfvalue3 << " are the halves of " << num1 << num2 << num3 << endl;

    return 0;
}

//function definition half
float half1(float num1, float halfvalue1)
{
    return num1 / halfvalue1;
}

float half2(float num2, float halfvalue2)
{
    return num2 / halfvalue2;
}

float half3(float num3, float halfvalue3)
{
    return num3 / halfvalue3;
}
Run Code Online (Sandbox Code Playgroud)

警告是:

警告C4700:未初始化的局部变量'num2'使用警告C4700:未初始化的局部变量'num3'使用

当我刚使用一个变量时,我取得了圆满成功,但现在我不确定如何解决这个问题.

owa*_*der 5

该行cin >> num1,num2,num3;评估为三个单独的表达式:

  1. cin >> num1
  2. num2 (丢弃因为没有副作用)
  3. num3 (也丢弃了)

逗号被视为运算符,而不是初始化列表.

试试这个:

cin >> num1;
cin >> num2;
cin >> num3;
Run Code Online (Sandbox Code Playgroud)

或这个:

cin >> num1 >> num2 >> num3;
Run Code Online (Sandbox Code Playgroud)