[Двоичное дерево в C] почему код терпит неудачу?
Итак, у меня есть двоичное дерево, где каждый узел (скажем, v) имеет 2 дочерних элемента, один называется "атом", а другой - "клетка". В функции lval_pop, я хотел бы вернуться в "атом" ребенка, но смена сотового узла по адресу в, Поэтому, когда я разыменовать указатель на В, Я хотел бы получить узле ячейки (до Сдвига). Однако, хотя функция возвращает дочерние элементы "атома" правильно, смещения не происходит. Почему это так?
Заранее спасибо за вашу помощь!
Что я уже пробовал:
lval* lval_pop(lval* v) { lval* x = v->atom; if(v->cell!=NULL) v = v->cell; return x; }
Afzaal Ahmad Zeeshan
Как же он терпит неудачу? Вы пытались проверить его построчно, отладив его?