在 Project48.exe 中的 0x7B639D4E (ucrtbased.dll) 处抛出异常:0xC0000005:访问冲突写入位置 0xCCCCCCCC

用户13058199
#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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章