Задача №1: неверное добавление элемента в начало списка или в произвольное место списка, неверное копирование строк (присваиванием указателей вместо использования функций strcpy/strdup
), построение списка массивов или массива массивов вместо требуемого списка списков (т.е. основной список содержит в качестве поля элемента не заголовок вспомогательного списка, а указатель на массив).
Задача №2: незнание статических, локальных и глобальных переменных, трудности с адресной арифметикой и префиксными/постфиксными операциями.
Задача №3: указатели next
инициализируются в порядке, не соответствующем заданному порядку обхода двоичного дерева; устанавливается указатель на предыдущий узел дерева в заданном порядке обхода вместо указателя на следующий узел.
Задача №4: неверное использование функции realloc
(передача одного параметра вместо двух, результат функции не сохраняется в переданном в качестве первого параметра указателе), выделение памяти без учета нулевого байта-терминатора строки, в некоторых вариантах — уменьшение памяти под исходную строку функцией realloc
с последующим копированием символов из освобождённой части строки.
Задача №5: незнание правил неявного преобразования типов, непонимание указателей и двойных указателей, неверное применение оператора sizeof
к массивам.
Задача №6: вычисление максимального/минимального элемента в поддереве без учета того, что заданное дерево является деревом поиска; неверное упрощение задачи до подсчетов заданной функции только в корне (отсутствие рекурсивных вызовов).