我的代码中的错误 - 布尔真值表
Error in my code - Boolean Truth Table
我目前正在开发一个打印 5 变量真值表的程序。我正在使用 2D 数组。我的代码当前生成表,但说它已损坏,并且"变量"表"周围的堆栈已损坏。有什么帮助吗?
#include <iostream>
using namespace std;
int main() {
bool table[5][32];
for (int i = 0; i < 32; i++) {
for (int j = 0; j < 5; j++) {
table[i][j] = ((i >> j)& 1);
}
}
for (int i = 0; i < 32; i++) {
for (int j = 0; j < 5; j++) {
cout << table[i][j] << " ";
}
cout << endl;
}
return 0;
}
这是家庭作业,所以我想理解它,而不仅仅是有一个答案。
索引错误。只有table[0]
到table[4]
可用,因此访问table[5]
table[31]
是非法的。
试试这个:
#include <iostream>
using namespace std;
int main() {
bool table[32][5]; // swap 32 and 5
for (int i = 0; i < 32; i++) {
for (int j = 0; j < 5; j++) {
table[i][j] = ((i >> j)& 1);
}
}
for (int i = 0; i < 32; i++) {
for (int j = 0; j < 5; j++) {
cout << table[i][j] << " ";
}
cout << endl;
}
return 0;
}
尝试从数组中读取越界值。
如果需要5x32
矩阵,请使用以下代码:
for (int i = 0; i < 5; i++) { // 32-> 5
for (int j = 0; j < 32; j++) { // 5->32
如果您需要32x5
矩阵,请替换以下代码:
bool table[32][5]; //it was table[5][32];
相关文章:
- 用真值填充矢量
- 布尔真值表 C++
- 查找下一个具有真值C++的数组索引
- for_each不返回(布尔)值
- 如何从文件显示布尔值表
- 为什么 cal 函数总是返回真值
- 创建一个函数,该函数根据边缘转换为给定(浮点)时间值计算布尔返回值
- 布尔赋值运算符
- 检查网格/真值表的对称性
- 从STL矢量的真值中随机选择索引
- 将真值赋给浮点值
- 读取真值表C++的逻辑运算符表达式
- 检索具有非常量变量数的真值表的单行
- 我的代码中的错误 - 布尔真值表
- 实现真值表的一般模式
- 真值表到按位表达式
- C++建议在用作真值的赋值周围加上括号
- 如何生成一个在真值之后退出的循环
- 为什么在成功将布尔字符串值转换为布尔值时,istringstream eof 标志没有变为真?
- 布尔数据类型vs整数数据类型来表示真值