一个简单的问题
#include "stdio.h"#include "malloc.h"
struct stu{
int num;
char name[8] ;
int age;
}*p;
main()
{
int i;
p=(struct stu *)malloc(sizeof(struct stu));
for(i=0;i<=3;i++){
printf("请输入学生学号:",7);
scanf("%d",p->num);
printf("请输入学生姓名:",7);
scanf("%s",p->name);
printf("请输入学生的年龄:",7);
scanf("%d",p->age);
}
printf("学号----------------姓名----------------年龄");
printf("%-20d%-20s%-20d",p->num,p->name,p->age);
free(p);
}
为什么我的这个程序编译通过了但在向里面输入数据时出现了 0x00408648指令引用的0xcdcdcdcd内存,该内存不能为written这样的提示啊!