c언어 예외 발생

조회수 1254회
#include <stdio.h>

int main()
{
    int n1 = 0, n2 = 0;
    char c = 0;
    int val = 0;

    printf("수식을 입력하시오 : ");
    scanf_s("%d%c%d", &n1, &c, &n2);

    switch (c)
    {
        case '+':
            val = n1 + n2;
            printf("%d + %d = %d", n1, n2, val);
            break;
        case '-':
            val = n1 - n2;
            printf("%d - %d = %d", n1, n2, val);
            break;
        case'*':
            val = n1 * n2;
            printf("%d * %d = %d", n1, n2, val);
            break;
        case'/':
            val = n1 / n2;
            printf("%d / %d = %d", n1, n2, val);
            break;
        default:
            printf("계산할 수 없음");
            break;
    }
    return 0;
}

c로 간단한 계산기를 만들고 있었는데 scanf_s("%d%c%d", &n1, &c, &n2); 여기부분에서 예외가 발생했다고 뜨네요. 왜 그러는지 알 수 있을까요? 그리고 여기서 코드를 더 줄일 수 있으면 가르쳐 주시면 감사하겠습니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자
  • 원인은 정확히 잘 모르겠습니다만, scanf_s("%d%c", &n1, &c); scanf_s("%d", &n2); 이처럼 나눠서 쓰니 잘 돌아가는군요. 더 도움을 드리지 못해 죄송합니다. 알 수 없는 사용자 2020.5.10 19:58

1 답변

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

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

(ಠ_ಠ)
(ಠ‿ಠ)