想编一个输入数组的程序,一直报错,求解

编程输入数组时遇到的

#define _CRT_SECURE_NO_WARNINGS
#include
int main()
{
    int length;
    int i;
    int j;
    
    printf("请输入数组长度:%d", length);
    scanf("%d", &length);
    int arr[length];

    for (i = 0; i <= length; i++)
    {
        printf("请输入第%d个数字:", j);
        scanf("%d", &arr[i]);
        j++;
    }
    printf("你输入的数组是:");
    for ( i = 0; i < length; i++)
    {
        printf("%d ", arr[i]);
    }


    return 0;
}


img

你这到底是c语言还是c++,为什么两个标签都贴上了
c语言和c++虽然语法上看起来很像,但是它们的语法毕竟是有区别的,不要老是混为一谈
c++是允许用变量来初始化数组长度的
而c语言不允许这样做

for (i = 0; i <= length; i++)
改为
for (i = 0; i <length; i++)
如果i=length,数组就越界了

vs是不支持变长数组的

至少两个错误
printf("请输入第%d个数字:", j); 是i不是j吧
for (i = 0; i <= length; i++) ; i < length 不是 <= 吧, 会越界

将int arr[length] 改成int[] arr还是int arr[],然后j给一个初始值0试一下