y값이 입력이 안됩니다.
조회수 278회
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 답변
-
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가 한 글자임을 뜻합니다.
댓글 입력