请问下面的题我哪里错了?

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

img

img

img

错误太多了,你以为const int n=n1就能绕开"数组长度必须是常量"的规定了?常量,必须在编译期间确定数值,而你这个n1是输入的,怎么可能是常量?老老实实用动态数组吧。还有,最好别用万能头。

const修饰的结果是一个常变量,也就是说,本质上还是一个变量,你是要malloc开辟试试吧

#include <iostream>

int main()
{
    const int N = 10;
    int a[N], n;
    std::cin >> n;
    for (int i = 0; i < n; i++)
        std::cin >> a[i];
    int x;
    std::cin >> x;
    for (int i = x-1; i < n - 1; i++)
        a[i] = a[i + 1];
    for (int i = 0; i < n - 1; i++)
        std::cout << a[i] << ' ';
    return 0;
}

把a[n]改成a[100000]就好了吧