c언어에서 프로그램이 자동종료됩니다


void score(int ReNum)
{
	// score
	char name[20];
	FILE* file;
	fopen_s(&file, "score.txt", "w");
	printf("Input Your Name(Limits-20letters)\n");
	scanf_s("%s", &name, sizeof(name));
	fprintf_s(&file, "Challenge-%d Name-%s", ReNum, name);
}

이렇게 점수를 저장하는 함수를 짰는데 입력을 하면 자동으로 프로그램이 종료됩니다. 도와주세요.

score 호출하는 부분이 어디인가요?

  1. scanf_s의 인자에서 포맷은 %s 하나인데 인자는 2개입니다.
  2. scanf_s의 인자에서 &name을 넘겨주면 안됩니다. char*를 받아야 하는데 char**를 주게 됩니다.
  3. fprintf_s의 첫번째 인자도 잘못되었습니다. &file이 아니고 file

scanf_s 에서 배열을 넘겨줄 경우 배열 길이까지 체크하도록 되어있는걸로 아는데 아닌가요?

아 그렇네요.
scanf_s("%s", name, (rsize_t) sizeof name);로 바꾸면 될 것 같네요