【发布时间】:2018-02-06 13:49:00
【问题描述】:
好的,所以我编写了这段代码来打印二维数组的所有元素。但是,令人惊讶的是,屏幕上没有打印任何内容。代码如下:
#include <bits/stdc++.h>
using namespace std;
char ans[1001][1001];
void display_ans(int row,int col)
{
for (int i=0;i<row;i++)
{
for(int j=0;j<col;j++)
{
cout<<ans[i][j];
}
cout<<endl;
}
}
int main()
{
memset(ans,'$',sizeof(ans[0][0])*2*2);
display_ans(2,2);
return 0;
}
屏幕上什么都没有。这真的很尴尬。我不明白代码有什么问题。
【问题讨论】:
-
第二件事,记住数组索引是从零开始的。
-
最后,记住你的数组
ans是一个数组的数组。这意味着ans[0][0]不会在内存中与ans[1][0]相邻。 -
这是一个想法。打印整个数组,你就会明白你的误解在哪里
-
1001这是一个不寻常的值。你认为你总是需要备用一个吗?
标签: c++ arrays c++11 matrix cout