y값이 입력이 안됩니다.

조회수 611회

include

int main() { double x=0, y=0, result=0; char op;

printf("수식? ");
scanf_s("%lf %c %lf", &x, &op, &y);

if (op == '+')
    result = x + y;
else if (op == '-')
    result = x - y;
else if (op == '*')
    result = x * y;
else if (op == '/')
    result = x / y;
else {
    printf("잘못된 수식입니다.\n");
    return 1;
}
printf("%f %c, %f=%f\n", x, op, y, result);

}

실행할때마다 Y값이 입력이 안됩니다. 어떤부분이 문제인지 알려주실 수 있으신가요?

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기

    scanf_s 함수는 scanf 함수와 사용방법이 조금 다릅니다. 자세한 사용 방법은 검색을 해 보시길 바랍니다.

    scanf_s 함수에서는 %c, %s의 경우, 매칭되는 변수 또는 배열의 주소뿐만 아니라 그 주소에서 사용가능한 글자 개수를 추가로 명시해줘야 합니다.

    scanf_s("%lf %c %lf", &x, &op, &y);scanf_s("%lf %c %lf", &x, &op, 1, &y);처럼 바꿔야 합니다.

    1은 op가 한 글자임을 뜻합니다.

    • (•́ ✖ •̀)
      알 수 없는 사용자
    • 계속 방법을 못 찾았는데 알려주셔서 감사합니다. 지성우 2023.10.23 14:06

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

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

(ಠ_ಠ)
(ಠ‿ಠ)