【发布时间】:2016-06-10 13:06:31
【问题描述】:
这是我的 main.cpp 代码:
#include <iostream>
using namespace std;
int main()
{
int input1[8];
int input2[8];
int output[8];
cout << "Welcome to binary calculator!" << endl;
cin >> input1[8];
cin >> input2[8];
if(input1[0]+input2[0]>1){
output[8] = 0;
if(input1[1]+input2[1]>1){
output[7] = 0;
cout << output[7] << output[8] << endl;
}
}else{
output[8]=input1[8]+input2[8];
}
return 0;
}
我的问题是,输出的第 8 个元素应该等于 input1 的第 8 个元素和 input2 的第 8 个元素的总和。我试图输入 7,因为我想我记得数组索引是如何工作的,但我错了,现在我被卡住了。
【问题讨论】:
-
cin >> input1[8];cin >> input2[8];...output[8] = 0;超出范围。 -
如果第一个元素是0,那么8是哪个元素?
-
考虑选择一个真正有用的问题标题。正如目前所写,它没有任何有用的信息。
-
不要使用magic numbers,最好使用
#define标识符。这允许在一个地方更改数组容量,而不是搜索所有代码(并且可能更改错误的常量)。 -
您只需在两个数组中输入一个元素。为什么需要数组?