Вопрос по программе на Си
Естественно ошибка возникает в return (item->next == NULL)? 1: 0;
у вас при вводе 1 в item содержится NULL, а вы пытаетесь его разименовать и обратиться к несуществующему смещению «next»
А на какой строке ошибка вылетает? Точно в этом куске кода?
Проверил ваш кусок кода на gcc (CentOS) — без ошибок.