C++ 用伪随机数填充二维数组

C++ 用伪随机数填充二维数组,c++,arrays,C++,Arrays,有人能看到代码失败的地方吗 代码: #包括“stdafx.h” #包括 #包括 #包括 使用名称空间std; 常数i=12; 常数j=12; int myArray[i][j]={0}; void-generatarray(); int main() { generatarray(); 返回0; } void生成器array() { srand(1234); 对于(inti=0;i

有人能看到代码失败的地方吗

代码:

#包括“stdafx.h”
#包括
#包括
#包括
使用名称空间std;
常数i=12;
常数j=12;
int myArray[i][j]={0};
void-generatarray();
int main()
{
generatarray();
返回0;
}
void生成器array()
{
srand(1234);
对于(inti=0;i<12;i++);
{
对于(intj=0;j<12;j++);
{
myArray[i][j]=rand();
}

coutfor循环的右括号后有分号。
这将有效地将for循环视为一个空体(并且通常忽略该循环)


删除它们,代码就会执行。

您的for循环应该如下所示

for(int i=0; i < 12; ++i)
{
    for(int j=0; j < 12; ++j)
    {
        myArray[i][j]= rand();

        cout << myArray[i][j] << " ";
    }

    cout << endl;
}
for(int i=0;i<12;++i)
{
对于(int j=0;j<12;++j)
{
myArray[i][j]=rand();

是的。你的编译器正在告诉你。听它。你应该说你的代码是如何失败的?它编译了吗?它运行了吗?你得到了什么输出?很抱歉。我使用的是Visual Studio 2010。代码编译没有任何问题(至少我可以看到)。程序返回“4068”。我期待一个12x12矩阵。然后你需要教你的编译器更有用…查看如何启用最严格的警告和一致性设置。谢谢。我这样做了,现在我只看到一行12个“0”。看起来它忽略了rand()函数,以及第2-12行。这就是诀窍。谢谢。另外,如果这有助于以后阅读此文章的其他人,我添加了以下内容,以确保在矩阵打印时数字正确对齐:cout
for(int i=0; i < 12; ++i)
{
    for(int j=0; j < 12; ++j)
    {
        myArray[i][j]= rand();

        cout << myArray[i][j] << " ";
    }

    cout << endl;
}