数据链表问题,一堆报错不知如何才能解
程序代码:
#include<stdio.h> #include<stdlib.h> #include<string.h> #define len 20 struct student { char* name; struct student* next; }; struct student* ctrn() { char max[len],a; struct student * p, * hard, * next; p = (struct student*)malloc(sizeof(char)); gets_s(max, len); strcpy(p->name, max); printf("是否继续输入(y/n):"); scanf_s("%c", &a); while (a = 'y') { next= (struct student*)malloc(sizeof(char)); gets_s(max, len); strcpy(next->name, max); next= next->next; if (a == 'n') { next->next= NULL; break; } } p->next = next; hard = p; while (1) { printf("%d", p->name); p = p->next; if (p->next != NULL) { break; } }
程序代码:
严重性 代码 说明 项目 文件 行 禁止显示状态 错误 C4703 使用了可能未初始化的本地指针变量“next” Project1 G:\c文件\Project1\Project1\源.c 33 警告 C6064 缺少“scanf_s”的整型参数(对应于转换说明符“2”)。 Project1 G:\C文件\PROJECT1\PROJECT1\源.C 19 警告 C6011 取消对 NULL 指针“next”的引用。 Project1 G:\C文件\PROJECT1\PROJECT1\源.C 24 警告 C6001 使用未初始化的内存“next”。 Project1 G:\C文件\PROJECT1\PROJECT1\源.C 33 警告 C6011 取消对 NULL 指针“p”的引用。 Project1 G:\C文件\PROJECT1\PROJECT1\源.C 39 警告 C6282 运算符不正确: 在 Boolean 上下文中执行了常量赋值。应考虑改用“==”。 Project1 G:\C文件\PROJECT1\PROJECT1\源.C 39 警告 C4473 “scanf_s”: 没有为格式字符串传递足够的参数 Project1 G:\c文件\Project1\Project1\源.c 19