我把你楼顶的代码复制下来试了一下,除掉输出格式问题外(自己调整即可),共改动3处。
原83行:
p1 = ( struct course * )malloc( sizeof( struct course ) );
memset (p1, 0, sizeof( struct course ) ); // 加入此行
原160行:
p1 = ( struct student * )malloc( sizeof( struct student ) );
memset (p1, 0, sizeof( struct student ) ); // 加入此行
原280行:
printf( "无法储存!" );
// 原语句换码错误: printf( "\无法储存!" );
程序可以编译通过,并能添加课程和学生信息。
我想你是不是照搬了代码,两处初始化的结构大小是不同的,一个是 sizeof( struct course ),一个是 sizeof( struct student )。