代码可以正常运行,但是运行之后再打印链表你的数据的时候显示无数据,我感觉是插入的时候失败了,但不知道问题在哪里
4条回答 默认 最新
- qzjhjxj 2023-06-01 16:44关注
这个函数这样写,供参考:
void Input(SLTNode** pphead) { SLTNode* ptra = NULL, * newnode = NULL; FILE* fp; fp = fopen("D:\\桌面\\student.txt", "r"); if (fp == NULL) { printf("无法打开文件!\n"); return; } if ((*pphead)) for (ptra = (*pphead); ptra->next; ptra = ptra->next); while (1) { newnode = (SLTNode*)malloc(sizeof(SLTNode)); newnode->next = NULL; if (fscanf(fp, "%lld %s %s %d %d %d %lf %lf %lf", &newnode->student.num, newnode->student.name, newnode->student.sex, &newnode->student, birthday[0], &newnode->student.birthday[1], &newnode->student.birthday[2], &newnode->student.score[0], &newnode->student.score[1], &newnode->student.score[2]) != 9) { free(newnode); break; } if (!(*pphead)) (*pphead) = newnode; else ptra->next = newnode; ptra = newnode; } fclose(fp); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报