我正在编写一个用户选择特定操作的程序。问题是什么:我无法编译,因为编译器抱怨潜在的错误:DblList(双向链表)类型的变量可能未初始化。我的程序中有一个变量(DL)来跟踪这个,所以不会有错误。告诉我,作为一个初学者,我是如何解决这个问题的。
ZY 所有功能都能正常工作,我只希望只有在选择选项 7 时,才向用户显示 DS。
int main(void) {
RUS_ON;
int choose;
bool DL = 0; // 0 - список не создан 1 - создан
start:;
Welcome(&choose);
DblList* list;
if (choose == 1) { // этот выбор генерирует список с размером choose елем.
sayElemCount(&choose); // и заполняет его нулями
DblList* list = createDblList();
for (int i = 0; i < choose; i++) {
int a = 0;
pushFront(list, &a);
}
printf("\nСделано!\n");
DL = 1; // списко создан
goto start;
}
else if (choose == 7) {
if (DL == 1)
printDblList(list, printInt); // Как избежать потенциальную ошибку в этом месте?
goto start;
}
else
printf("Потом придумаю\n");
_getch();
return 0;
}
感谢您的理解。
你没有看到
list = createDblList();-list你立即失去了这个,但在这里你真的在使用 uninitialized
ist吗?然后又慢慢地:
现在清楚了吗?您已经声明了两个不同的变量
list。