数组的输出与输入不同
output of array is different from input
我正在尝试输入
1
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
,但由于某种原因,我得到这个作为我的输出HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHH
它应该在所有的H中输出相同的东西但不是它的输出少了一个随机的i,这是什么?
#include <iostream>
using namespace std;
const int arrayElements = 40;
int main()
{
int lineInputs = 0;
cin >> lineInputs;
char mySexyArray [lineInputs-1][arrayElements-1];
int whatever =0;
for (int i=0;i<lineInputs;i++)
{
// cin >> whatever;
for (int j=0;j<arrayElements;j++)
{
cin >>mySexyArray[i][j];
}
}
for (int i=0;i<lineInputs;i++)
{
for (int j=0;j<arrayElements;j++)
{
cout << mySexyArray[i][j]<<"";
}
cout << endl;
}
return 0;
}
您正在覆盖数组的边界,导致未定义行为。
当你有一个具有未定义行为的程序时,它可以显示任何输出。
你的数组声明是:
char mySexyArray [lineInputs-1][arrayElements-1];
当你的循环运行时:
for (int i=0;i<lineInputs;i++)
{
for (int j=0;j<arrayElements;j++)
数组下标从0
开始,因此只是写入不属于您的数组的内存
相关文章:
- 字符的输入/输出操作
- C++ 中文件输入输出中的长长 v/s int
- 要求用户输入C++输出文件名
- 在C++中重载输入/输出运算符
- 从用户获取输入/输出
- 如何选择waveIn/waveOut函数C++使用的输入/输出设备
- C++击球平均值程序使用输入/输出文件打印名称,平均值,最高/最低平均值时遇到麻烦
- 从 2 位输入输出 4 位数字年份
- 标准输入输出操作如何C++完成
- Windows 中应用程序的每秒输入/输出操作数
- 如何初始化可以设置为默认数组并将输入/输出作为数组的类函数?
- 输入/输出和类
- 使用 Octave GNU 访问输入/输出文件
- (C++)分解这个简单的输入/输出代码:
- TensorFlow模型:如何从原始爱好文件中识别输入/输出节点名称
- 干净取消在输入/输出调用中被阻止的 std::线程
- 将线程之间的标准输入/输出重定向
- 输入/输出异或字符串的 C++ 问题
- C++输入/输出错误
- C++输入输出