Цитата
Обясните что вы ожидаете получить и что получаете в результате работы программы.
aesok, не уже ли из преведенного кода не понятно что должна делать функция
"sort_insert". Она должна отсортировать массив восьми разрядных безнаковых значений по возрастанию, передается ей указатель на массив
"uint8_t *items" и размер массива
"uint8_t size". Если Вы не знаешь как работает алгоритм сортировки методом вставки, то можешь почитать сдесь:
http://algolist.manual.ru/sort/insert_sort.php .
Цитата
Что вы хотите отсортировать массив buff[] или символы в строке, которая сохранена в массиве buff[]
По секрету Вам скажу, что строка есть также массив типа
"char" которая содержит дополнительно нулевой символ
'\0' в конце.
Ну и для тех, кто не может понять очевидный код я поясняю: после выхода из функции
"sort_insert", строка должна быть отсортированна в алфавитном порядке, также замечу, что нулевой символ
'\0' в конце массива должен будет находиться уже в его начале. Что на самом деле не происходит. А чтобы данная функция заработала, как от нее ожидается надо закоментировать строку
"items[j+1] = temp; // этот оператор не хочет работать" и раскоментировать строку
"//items[++j] = temp; // а вот этот отлично работает".
P.S. Кто не верит, может скопировать код (он полностью готов к сборке) и прогнать его из под отладчика. Для понимания того, что функция
"sort_insert" начинает работать както не так, понадобиться раз 10 (десять) нажать на кнопку <F11>, это в среде
AVR Studio.