Study/Computer

C언어 : 주사위 던지기, VS2019에서 scanf 사용하기

MuviSsum 2019. 12. 12. 07:31

다 기본적인 구문이라서 설명할만 한 건 없고

이번에 VS2017 -> VS 2019로 바뀌면서 짜증나는 점이 생겼어요.

scanf 함수가 써지지 않는다는 점! 그래서 scanf_s 함수를 쓰셔야 합니다.

굳이 scanf 함수를 쓰고 싶다면 warning을 제거하는 코드 하나를 더 쓰셔야 합니다.

#include 위에 써주시는게 좋구요, 밑에 코드를 추가하시면 됩니다.

#ifdef _MSC_VER 
#define _CRT_SECURE_NO_WARNINGS
#endif


 

//코드 : 주사위 2개를 던졌을 때, 두 주사위 값의 합이 입력받은 값이 되는 경우를 출력

#include  <stdio.h>
#include  <stdlib.h>

int main() {
   int tmp;
   int first = 1, second = 6;

   printf("합을 입력하시오 :");
   scanf_s("%d", &tmp);
   if (tmp > 12) {
      printf("주사위의 합은 12보다 크지 않습니다.\n");
   }
   else if (tmp < 2) {
      printf("주사위의 합은 2보다 작지 않습니다.\n");
   }
   else {
      printf("합이 %d인 조합은 다음과 같습니다.\n", tmp);
      if (tmp > 7) {
         first = tmp - second;
         while (first != 7){
            printf("(%d, %d)\n", first, second);
            first++;
            second--;
         }
      }
      else {
         second = tmp - first;
         while (second != 0) {
            printf("(%d, %d)\n", first, second);
            first++;
            second--;
         }
      }   
   }
   return 0;
}

반응형