c·c++/c 프로그래밍

scanf_s 함수의 문제점

바로이순간 2012. 1. 18. 01:31

열혈 c프로그래밍을 독학하는 컴맹입니다.

switch 파트.. 챕터8장 197페이지에서요..

이렇게 돌리니깐, 스위치구문으로 들어가지 못하고, 그냥 빠져나오는데요..

왜 그럴까요?

답변 부탁드립니다..


#include <stdio.h>
int main() {
  char sel;
  printf("M 오전, A 오후, E 저녁\n");
  printf("입력: ");
  scanf_s("%c",&sel);

  switch(sel) {
    case 'M': case 'm':
      printf("Morning\n");
      break;
    case 'A': case 'a':
      printf("Afternoon\n");
      break;
    case 'E': case 'e':
      printf("Evening\n");
  }

  return 0;
}


#include <stdio.h>
int main() {
  char sel;
  printf("M 오전, A 오후, E 저녁\n");
  printf("입력: ");

  scanf_s("%c",&sel, 1);

  switch(sel) {
    case 'M': case 'm':
      printf("Morning\n");
      break;
    case 'A': case 'a':
      printf("Afternoon\n");
      break;
    case 'E': case 'e':
      printf("Evening\n");
  }

  return 0;
}


위와 같이 고치면 잘돌아 갑니다.