#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
struct Employee
{
int id;
char name[20];
char position[20];
int salary;
int dateofjoin;
char address[20];
};
int main()
{
struct Employee a[5], b[5];
FILE* fptr;
int i;
fptr = fopen("file.txt", "wb");
for (i = 0; i < 3; ++i)
{
fflush(stdin);
printf("\nEnter ID: ");
scanf("%d", &a[i].id);
printf("\nEnter name: ");
scanf("%s",&a[i].name);
printf("\nEnter Position/Designation: ");
scanf("%s",&a[i].position);
printf("\nEnter Salary: ");
scanf("%d", a[i].salary);
printf("\nEnter DateOfJoining: ");
scanf("%d", a[i].dateofjoin);
printf("Enter Address: ");
scanf("%s",&a[i].address);
}
fwrite(a, sizeof(a), 1, fptr);
fclose(fptr);
fptr = fopen("file.txt", "rb");
fread(b, sizeof(b), 1, fptr);
for (i = 0; i < 3; ++i)
{
printf("\nID: %d \tName: %s \tPosition/Designation: %s Salary: %d\tDateOfJoining: %d\tAddress: %s", b[i].id, b[i].name, b[i].position, b[i].salary, b[i].dateofjoin,
b[i].address);
}
fclose(fptr);
}
我的程序总是在输入工资后崩溃,我甚至尝试了#define _CRT_SECURE_NO_WARNINGS,以避免错误,但它是没有用的,希望我能尽快解决我的问题,请在你回复时解释,因为这对我来说是一种任务。
在你的 scanf("%d", a[i].salary);
&前缺失。a[i].salary