작성
·
56
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
leejeongmln님, 구조체와 scanf_s
사용에 대한 질문을 주셨군요. scanf_s
함수 사용 시, 각 입력에 대한 버퍼 크기를 제공해야 하는데, 올바르게 하셨는지 확인이 필요합니다. 문자열(name)을 입력받는 경우, scanf_s
의 문법은 다음과 같습니다.
scanf_s("%s", p_friend->name, (unsigned)sizeof(p_friend->name));
이 경우, p_friend->name
의 메모리 크기를 올바르게 지정하신 것 같습니다. 하지만, 여전히 문제가 발생한다면, 다음을 확인해 보시기 바랍니다:
컴파일러가 scanf_s
를 지원하는지 확인해 주세요. 일부 컴파일러에서는 scanf_s
를 지원하지 않을 수 있으며, 이 경우 표준 scanf
함수를 사용해야 합니다.
p_friend
가 올바르게 할당된 메모리를 가리키고 있는지, 그리고 초기화 되었는지 확인하세요. 메모리 문제가 있을 경우 scanf_s
에서도 오류가 발생할 수 있습니다.
프로그램의 다른 부분에 문제가 없는지 전체적으로 검토해 보세요. 질문에 제공된 정보만으로는 전체 코드의 맥락을 파악하기 어렵습니다.
만약 모든 검토 사항이 문제가 없음에도 불구하고 여전히 실행에 실패한다면, 개발 환경(컴파일러 버전 등)과 함께 구체적인 오류 메시지를 제공해 주시면 더 정확한 해결책을 제시할 수 있을 것입니다.