给定代码的输出错误

时间:2016-01-25 23:32:01

标签: c++ output codeblocks

#include<iostream>
#include<conio.h>
#include<fstream>

using namespace std;

int replace(int n[3][3])
{
for(int i=0;i<3;i++)
{
    for(int j=0;j<3;j++)
    {
        if ((i+j)<3)
        {
            n[i][j]=0;
        }

    }
}
cout<<"new array =  : \n";
    for(int i=0;i<3;i++)
    {
        for(int j=0;j<3;j++)
        {
            cout<<n[i][j]<<" ";
        }
        cout<<"\n";
    }
    return 0;

    }

    int main()
    {
       int n[3][3],i,j;
         for(i=0;i<3;i++)
        {
             for(j=0;j<3;j++)
             {
               cout<<" \n  enter number :"<<i<<" row and "<<j<<" column   :";
               cin>>n[3][3];
             }
         }
            replace(n);
return 0;
getch();
}

这个程序应该将所有那些元素替换为0,其索引总和小于3.更换发生得很好,但未显示未替换的数字,而是在输出中显示一些垃圾值。

`unexpected output of above program

1 个答案:

答案 0 :(得分:2)

cin>>n[3][3];应为cin>>n[i][j];

n[3][3]超出限制访问权限。