#include<stdio.h>
struct student
{
char name[15];
char job[15];
char race[15];
int age;
int size;
};
int main()
{
struct student m[10];
int i;
int menu=0;
FILE *fp=fopen("C:\\newtest.txt", "r");
if(fp==NULL)
{
printf("텍스트 파일을 확인해주세요\n");
return 0;
};
for(i=0;i<10;i++)
fscanf(fp,"%s %s %d %d %s",&m[i].name, &m[i].job, &m[i].age, &m[i].size, &m[i].race);
fclose(fp);
printf("1번은 이름\n");
printf("2번은 직업\n");
printf("3번은 종족\n");
printf("4번은 나이\n");
printf("5번은 키 \n");
printf("원하는 메뉴를 입력하세요\n");
scanf("%d",menu);
for(i=0;i<10;i++)
if(menu==1)
{
printf("%s \n",m[i].name);
}
else if(menu==2)
{
printf("%s \n",m[i].job);
}
else if(menu==3)
{
printf("%s \n",m[i].race);
}
else if(menu==4)
{
printf("%d \n",m[i].age);
}
else if(menu==5)
{
printf("%d \n",m[i].size);
}
return 0;
}
사실 과제물 같은거 올리면 안되는데... 주변에 물어볼 사람도 없고, 봐줄사람도 없고...
0xC0000005: 0x00000000 위치를 기록하는 동안 액세스 위반이 발생했습니다.
컴파일은 넘어가는데 메뉴 선택에서 메뉴 입력시 이 에러가 뜨고, 넘어가지질 않네요 ...
메모리가 할당되지 않은채로 포인터를 사용했거나, 메모리가 초과됐을때 뜬다고 그래서... 이것저것 다해봤구요...
그냥 출력만 하게 하면, 정상적으로 되는걸 봐서... scanf < 여기가 문제인거 같은데... 4시간째 답을 못찾고있습니다...
제가 뭘 잊고있는걸까요 ?
ㅠㅠ.... 답답해서 잠도 안올꺼같네요 ... 도와주세요 ㅠㅠ
욕먹을 각오하고 글올립니다