У меня есть массив чисел, как:Предотвращение массива записи на несуществующий индекс
int a[10]={1,1,1,1,1,1,1,1,2,1};
Я считаю позицию 2, а затем изменить значение IndexOf (2) +4 и -4 до 2 тоже.
Проблема в том, что indexof (2) +4 не существует, что означает, что c перезапишет некоторую память, которая не принадлежит массиву. Как я могу остановить c на запись в индексы, которые превышают длину массива?
Проверьте, равен ли результат = = 10. –
Поскольку это C, элементы массива должны быть разделены символом '{}'. Или также '[]' также действительны? – Arc676
У вас нет - как программист, вам нужно убедиться, что любой индекс, к которому вы обращаетесь, действителен. Вы можете использовать библиотеку. Например, в C++ вы можете использовать 'std :: vector' и вызывать метод' at'. – CompuChip