为什么 sublime text 和 VSCode 不显示运行时错误?

Why sublime text and VSCode not showing runtime error?

例如在下面的代码片段中,n取9,数组a的元素为{5,5,4,5,5,5,4,5,6}。 Sublime 文本和 visual studio 代码显示正确输出为 3 但 Leetcode 在线 ide 显示“运行时错误:索引 8 超出类型 'int [k]' 的范围”。我想知道为什么sublime text和visual studio代码不显示运行时错误,如果有ide/text编辑器显示运行时错误,请推荐给我

    int k = n - 1;
    int temp[k];
    for (int i = 0 ; i < k ; i++)
    {
        temp[i] = (a[i] - a[i + 1]);
    }
    int res = INT_MIN;
    for (int i = 0 ; i < k ; )
    {
        int x = temp[i];
        int c = 0;
        while (x == temp[i])
        {
            i++;
            c++;
        }
        res = max(res, c + 1);
    }
    cout<<res;
int k = n - 1;
int temp[k];    // variable length array, must be either #define k <constant num>
                // or 'const int k'

C++ 标准不支持 variable-length 数组 (VLA)。 Sublime Text & VS Code 根本不重要,重要的是编译器。

您可能没有启用编译器警告,因此您看不到任何错误。您可以通过在编译选项中附加 -pedantic 标志来查看所有警告。