반응형
C언어로 계산기를 만드는 방법들은 여러가지들이 있지만 그중에 간단하게 할 수 있는 방법중
scanf로 피연산자와 연산자를 받고 스위치문에 연산자를 넣어서 출력해주는 방식이다.
비주얼 2013까지는 scanf("%d %c %d", &num1, &op, &num2)로 해왔지만 2015로 업데이트되면서scanf를 권장하지 않고 scanf_s를 권장하면서 문제가 생겼다. 잘 되던데 scanf_s("%d %c %d", &num1, &op, &num2)로 하면 안되는것이다. 그래서 구글링을 해서 찾아봤더니 해답은 scanf_s("%d %c %d", &num1, &op, 1, &num2)이다 아마도 scanf가 보안(?)문제때문에 scanf_s를 사용 권장하는데 이 scanf_s는 배열 같은것을 사용할때 size를 입력해줘야되는데 그거때문에 생긴문제가 아닌가 싶다. char는 크기가 1이기때문에 1을 매개변수에 넣으면 해결이 되는 것 간다.
결론 : scanf("%d %c %d", &num1, &op, &num2) -> scanf_s("%d %c %d", &num1, &op, 1, &num2)
반응형
'프로그래밍' 카테고리의 다른 글
[Android/Kotlin] Jetpack Compose의 강력한 기능 활용하기 (0) | 2024.04.22 |
---|---|
[Android] Intent를 이용하여 GMail 보내기 (0) | 2019.04.23 |
[Andoird] 메테리얼 탭 아이콘적용하기(Material Sliding Tabs With Icons) (0) | 2015.10.11 |
[Android] 메테리얼 탭(Material Sliding Tabs) (0) | 2015.10.11 |
[Android] 메테리얼 디자인 색상 미리보기(MaterialPalette) (0) | 2015.10.11 |