【问题标题】:uninitialized local variable with cin usecin 使用的未初始化局部变量
【发布时间】:2016-02-20 04:10:44
【问题描述】:

我正在处理这段代码(在 c++ 中),我完成了,但是当我在关于变量 y 和 m 的循环中使用它们时,我在第 19 行出现了 2 个错误,说它们是未初始化的局部变量。我不明白这是怎么可能的,因为我一开始就将它们声明为 int,并且在用户输入 cin 时分配它们的值。

#include <iostream>
#include <string>
#include <cmath>
#include <math.h>
#include <vector>

using namespace std;

int main()
{
    int a, b, n, l = 0;

    cin >> a, b, n;

    for (int i = 0; i < 20; i++)
    {
        for (int j = 0; j < 20; j++)
        {
            if (l < (i*a + j*b) && (i*a + j*b) <= n)
                l = i*a + j*b;
        }
    }

    cout << l;

    return 0;
}

【问题讨论】:

    标签: variables max cin


    【解决方案1】:

    我无法对此进行测试,但Multiple inputs on one line 建议您的语法应该是

    cin >> a >> b >> c;
    

    无论如何,我认为编译器建议对所有变量的赋值不是由 cin 保证的,因此在声明它们时没有显式初始化,你假设太多了。

    【讨论】:

    • 天哪,我怎么没看到!感谢你们对我的帮助!!现在可以了。 :)
    猜你喜欢
    • 2012-10-03
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多