我已经创建了此功能,但是对于大多数输入,它似乎会崩溃并给我一个"分割故障:11"错误。对于哪些输入可以导致分段错误?
int cubic_runtime(int const * const data, int n)
{
int max = 0;
int i;
int j;
int k;
int sum = 0;
for(i = 0; i <= n - 1; i = i + 1){
for(j = i; j <= n - 1; j = j + 1){
sum = 0;
for(k = i; k <= j; k = k + 1){
sum = sum + data[k];
}
if(sum > max){
max = sum;
}
}
}
return max;
}
我可以添加的一件事以避免seg故障是:始终验证/sanity-检查提供的输入。在这种情况下," N"的值会触发潜在的故障。我认为"数据"很好,因为它是只读的,我们只是阅读。