scanfを使わないでみる

友達に質問されてscanfで数値を入力しよういるときに、文字を入れも暴走しない方法を聞かれた。調べた記念に書いておこう。fgetsとsscanfを使います。ダサダサだけどご利用はご自由にw

#include <stdio.h>
#define SSIZE 100

int main(void)
{
  int i,flag=0;
  char s[SSIZE];
  while(!flag){
    printf("0から19のまでの数値を入れてください>> ");
    fgets(s,SSIZE,stdin);
    flag=sscanf(s,"%d",&i);
    if(i>19){
      flag=0;
    }
  }
  printf("あなたの入力した数>>%d",i);
 
  return 0;
}