A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

最佳答案有问题。
stu[0].name =(char *)malloc(sizeof(char));//这条语句只开辟了一个字节的内存空间
scanf("%s",stu[0].name);//这条语句是将从键盘录入的字符串存入这1个字节空间中
这样的代码编译器不会报错,但程序运行后会将字录入的符串存入这1个字节及其后续的空间中,这有可能会破坏内存中的其他内容。
建议将结构体中的name属性改成数组,如char name[20]。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马