定义了char number[3],所以只保存前三个字符,而你printf时却要输出6个,就连名字那前三个字符也输出了。比如第一个信息,学号只存成了B13,后面写的没有存入,姓名存了SDF,因为name跟在number之后,所以你在输出六个字符,就成了B13SDF
竞赛一直写C++,没用过指针。。。http://blog.csdn.net/21aspnet/article/details/159053单链表查找要自己重写咯