例如,在下面的代码片段中,假设n为9,数组a的元素为{5,5,4,5,5,5,5,4,5,6}。Sublime文本和visual studio代码将正确的输出显示为3,但Leetcode online 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;发布于 2020-08-23 14:53:54
int k = n - 1;
int temp[k]; // variable length array, must be either #define k <constant num>
// or 'const int k'在C++标准中不支持可变长度数组(VLA)。Sublime文本和VS代码根本不重要,但编译器。
您可能没有启用编译器警告,因此,您看不到任何错误。您可以通过在编译选项中附加-pedantic标志来查看所有警告。
https://stackoverflow.com/questions/63543950
复制相似问题