C4473 'scanf_s'서식 문자열에 대한 인수가 충분하게 전달되지 않았습니다.

조회수 1323회

int main(void) 
{   
    char apb;
    printf("좋아하는 알파펫은 뭐니?");
    scanf_s("%c", &apb);
    printf("내가 좋아하는 알파벳 %c입니다", apb);
    return 0;
}

디버깅해보면, 결과값이 제대로 나오기는 합니다만, 아래 오류 문구로,

C4473 'scanf_s'서식 문자열에 대한 인수가 충분하게 전달되지 않았습니다.
자리 표시자 및 해당 매개 변수에는 variadic 인수가 2개 필요하지만 1개가 제공되었습니다.`
누락된 variadic 인수 2이(가) 서식 문자열 '%c'에 필요합니다

라고 나옵니다. c언어 유튭보면서 강사 분과 똑같이 따라했는 데도, 나오는 데, 뭐가 문제일 까요?

1 답변

  • scanf_s("%c", &apb);
    

    위의 코드를 아래와 같이 바꾸세요. &apb가 가리키는 곳은 1바이트의 공간이다라는 뜻으로 뒤에 1을 붙여줘야 합니다.

    scanf_s("%c", &apb, 1);
    
    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)