为什么 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
标志来查看所有警告。
例如在下面的代码片段中,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
标志来查看所有警告。