#include <stdio.h>
int main(char op,int x,int y)
{
printf("수식을 입력하시오 : ");
scanf_s("%d %c %d", &x, &op, &y);
switch (op)
{
case '+':
printf("%d %c %d = %d \n", x, op, y, x+y);
break;
case '*':
printf("%d %c %d = %d \n", x, op, y, x*y);
break;
case '-':
printf("%d %c %d = %d \a", x, op, y, x-y);
break;
case '/':
printf("%d %c %d = %d \n", x, op, y, x/y);
break;
case '%':
printf("%d %c %d = %d \n", x, op, y, x % y);
break;
default:
printf("지원되지 않는 연산자입니다. \n");
break;
}
return 0;
}
책보고 그대로 배꼈는데 vs13에서 문자형을 입력하니 그대로 오류가뜨면서 종류가 되버리더라구요
이거 해결 방법좀 알려주시면 정말 감사하겠습니다
되게 어려운 문제네요... 모르겠다;;;
어 진짜 어려워서 댓글이 없나보다;;;;
scanf_s를 scanf로 바꾸니까 잘됩니다.
scanf_s("%d %c %d", &x, &op;, 1, &y);
op 다음에 세미콜론은 오타입니다. , 1의 의미는 읽어들이는 문자의 길이입니다.
형 정말정말 감사합니다 ^^
http://stackoverflow.com/questions/18836661/header-for-scanf-s-function
<< 자세한건 여기를 참조
그러면 제가 문자의 길이를 정하지 않고 짜서 저렇게 나오는건가요????
scanf_s 는 원래 저렇게 입력을 해줘야 한대. 안전성을 위해서...
아 그렇군요. 형때문에 좋은 지식 얻어갑니다 ^^