为什么用visual studio读数据时总显示Debug Assertion Failed

我是使用visual studio的新手,写第一个程序连读入数据都读不起。
下面就是我的程序

#include<bits/stdc++.h>
using namespace std;

const int MAX = 1e3 + 10;

int r,ans;
int a[MAX][MAX], f[MAX][MAX];

int main()
{
    scanf_s("%d", &r);
    for (int i = 1;i <= r;i++)
    {
        for (int j = 1;j <= i;j++) scanf_s("%d", a[i][j]);
    }
    for (int i = 1;i <= r;i++)
    {
        for (int j = 1;j <= i;j++) cout << a[i][j] << " ";
        cout << endl;
    }
    return 0;

刚刚把r和a[1][1]输完,就显示下面的信息
图片说明

const int MAX = 1e3 + 10;
修改成
const int MAX = 1010;
看看

#include<bits/stdc++.h>
using namespace std;

const int MAX = 1e3 + 10;

int r,ans;
int a[MAX][MAX], f[MAX][MAX];

int main()
{
    scanf_s("%d", &r);
    for (int i = 1;i <= r;i++)
    {
        for (int j = 1;j <= i;j++) {
                scanf_s("%d", &a[i][j]);
                }
    }
    for (int i = 1;i <= r;i++)
    {
        for (int j = 1;j <= i;j++) {
                cout << a[i][j] << " ";
                }
        cout << endl;
    }
    return 0;
        }

另外建议i和j从0开始,因为数组下标是从零开始储存的。