Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
struct Node{
char* d;
Node *left;
Node *right;
};
Node* search_insert(Node *root, char* d){
/*.........*/
Node *pnew = new Node;
pnew->d = d
/*.........*/
}
int main(){
/*.........*/
Node *root=NULL;
char* r=new char;
for (int i = 0; i<10; i++){
scanf("%s", r);
root=search_insert(root, b[i]);
}
/*.........*/
}
Вот такой тупой недочет стоил мне туевой хучи времени. Не единожды стирал все и писал заново. Просветление пришло на третий день.
Указатель.... поле в структуре - указатель... указатель в который я раз за разом лезу в цикле...
Зачем динамическое выделение char* r=new char; почему нельзя было обойтись просто char r; ?
Чтение строки (%s) в память, выделенную под символ до добра не доведет.
У меня при попытке заполнения char* переменной без предварительного new, программа вываливается. Разные компиляторы по разному воспринимают одинаковый код.
ЫЫЫ, у нас -- вчера, но учитывая этот твой пост, любой код, который ты напишешь в ближайший год, можно смело сюда постить, а вот среди школоты есть челы, котроые реально уже дохера умеюд, по крайней мере относительно написания троянов =)
Наличие указателя еще не говорит о наличии свободной памяти адресуемой этим указателем. Ошибка распространенная для начинающего программиста. Читайте мат.часть.
Это не "каменты" противоречивые. А подход к реализации. Надо знать что делаешь, а не пытаться исправить код до псевдорабочего состояния путем перебора вариантов, ссылаясь на то, что "Разные компиляторы по разному воспринимают одинаковый код."
Вы в 18-й строке пытаетесь прочитать строку в однобайтовый буфер, в который поместится лишь пустая строка (этот самый байт зохавает терминатор строки). Таким образом, налицо решето.
И, да, вы вырезали слишком много контекста, без него назначение кода слегка замутняется.
Чтение строки (%s) в память, выделенную под символ до добра не доведет.
Где gcc, а где и mingw
Что Вы этим хотели сказать?
(с)Башорг
И, да, вы вырезали слишком много контекста, без него назначение кода слегка замутняется.
для чего велосипедят связанные списки - это такая тайна