void main() {
char command;
element e;
TreeNode *root = NULL;
TreeNode *tmp;
do {
help();
command = getchar();
fflush(stdin);
switch (command) {
case 'i':
printf("Word:");
gets(e.word);
printf("Meaning:");
gets(e.meaning);
insert_node(&root, e);
break;
case 'd':
printf("Word:");
gets(e.word);
delete_node(&root, e);
break;
case'p':
display(root);
printf("\n");
break;
case's':
printf("Word:");
gets(e.word);
tmp = search(root, e);
if (tmp != NULL)
printf("Meaning:%s\n", e.meaning);
break;
}
} while (command != 'q');
}
Это основной код, а не весь код.
Я изучил структуру данных и попытался создать словарь с помощью поиска в двоичном дереве, но если я запускаю этот код, первый получает ошибку, но другой gets()
не разбиваются, а также цвет первого отличается.
код ошибки предупреждает C4013
Я знаю, чтокод ошибки не определяет конкретную функцию, но я уже написал файлы заголовков, stdio.h
и stdlib.h
.
Другая ошибка - буфер ввода, когда я запускаю этот код, слово и значение смешиваются.
Я слышал, что эта ошибка произошла в буфере ввода, и я знаю ее
, поэтому я закодировал // fflush (stdin) после //command = getchar ();
но ошибка не устранена
Я хочу понять, почему это происходит, и решить проблему благодаря