#include<stdio.h>
int max_pairwise(int *array,int n) {
int result=0;
int i,j;
for(i=0; i<n; i++)
for(j=i+1; j<n; i++) {
if(array[i]*array[j]>result)
result=array[i]*array[j];
}
return result;
}
int main(void) {
int n;
scanf("%d",&n);
int array[n];
int i;
for(i=0; i<n; i++)
scanf("%d",&array[i]);
int result=max_pairwise(array,n);
printf("%d",result);
return 0;
}
ответ
Вы приращение неправильных переменное во внутреннем цикле:
// here------v
for(j=i+1;j<n;i++)
В результате, i
продолжает получать приращение неограниченны. Это приводит к считыванию конца массива, вызывающему undefined behavior, причем одним из возможных симптомов является segfault.
Вы хотите:
for(j=i+1;j<n;j++)
agraahhh ... спасибо большое :) –
@RafiqReefat - Если это решила вашу проблему, примите время, чтобы принять ответ. Это помогает всем нам в SO, поскольку мы можем видеть, что проблема решена. – 4386427
В функции max_pairwise(), во втором для цикла вы набрали я ++, вместо j ++
- 1. Почему я получаю ошибку сегментации в этой программе?
- 2. Почему я получаю ошибку сегментации в этой программе?
- 3. Почему я получаю ошибку сегментации в этой программе копирования строк?
- 4. Почему я получаю ошибку сегментации в моей программе на C?
- 5. Почему я получаю ошибку сегментации в следующей программе c
- 6. Почему я получаю ошибку сегментации?
- 7. Почему я получаю ошибку сегментации?
- 8. Почему я получаю ошибку сегментации?
- 9. Почему я получаю ошибку сегментации?
- 10. Почему я получаю ошибку сегментации?
- 11. Почему я получаю ошибку сегментации?
- 12. Почему я получаю ошибку сегментации?
- 13. Почему я получаю ошибку сегментации?
- 14. Почему я получаю ошибку сегментации в этой реализации бинарного поиска?
- 15. Почему я получаю ошибку «размер хранилища неизвестен» в этой программе?
- 16. Почему я получаю ошибку Perl в этой программе brainfuck?
- 17. Почему я получаю java.io.FileNotFoundException в этой программе?
- 18. я получаю ошибку сегментации
- 19. Почему я получаю ошибку сегментации здесь?
- 20. Любая идея, почему я получаю ошибку сегментации?
- 21. Почему я получаю ошибку сегментации здесь (C)
- 22. Почему я получаю ошибку сегментации с зЬгсром()
- 23. Почему я получаю ошибку сегментации? C программирование
- 24. C - Почему я получаю ошибку сегментации?
- 25. Почему я получаю ошибку сегментации [139]?
- 26. Почему я иногда получаю ошибку сегментации?
- 27. Почему я получаю ошибку сегментации (ядро сбрасывается)?
- 28. Я получаю ошибку сегментации здесь
- 29. Я получаю ошибку ошибки сегментации на моей программе C
- 30. Я получаю ошибку сегментации: 11
Из-за границы диапазона будет происходить доступ. Попробуйте использовать отладчик, чтобы найти его. – MikeCAT
Как насчет этого 'for (j = i + 1; j
jwpfox
Как правило, всегда полезно проверить, не указана ли указатель, на которую вы ссылаетесь, не 'null' в начале этой функции (' max_pairwise') – ThunderWiring