


问题是出在call [20]里吗?不知道六个数是否是直接乘以4得到其内存空间,也就是20。
结构体里 int call[20]; 这是定义了整形数组call[] , 数组大小为20个元素。而主函数代码里定义结构体变量 s 且初始化了数据,最后一个 10086 是一个整形数值,将它赋值给数组 call[] 显然是错误的,结构体里的定义应修改为 int call; 单个变量即可,供参考:
struct Sdu {
char name[4];
int age;
char sex[3];
char telt[6];
int call;
};