我正在处理这段代码(在c++中),但当我在关于变量y和m的循环中使用它们时,第19行有两个错误,说明它们是未初始化的局部变量。我不认为这是可能的,因为我在开头声明它们为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;
}
发布于 2016-02-19 20:19:39
我无法测试这一点,但是Multiple inputs on one line建议您的语法应该是
cin >> a >> b >> c;
无论如何,我认为编译器是在暗示所有变量的分配都不是由cin保证的,所以如果没有显式的初始化,那么当它们声明太多时,就无法保证它们的分配。
https://stackoverflow.com/questions/35519009
复制相似问题