文字列を入力させる時に、バグの温床になりやすいscanfを使わず、
sscanfとfgetsでチェックしながら入力させる・・・・・・ということを聞き、
早速、

char str[20];
char buf[20];
for (i = 0; i < MAX; i++){
  while (1){
   fgets(buf, MAX, stdin);
     if (sscanf(buf, "%s", str) == 1);
       break;
   printf("もう一度入力して下さい。\n");
}

みたいな感じで実践してます。ここで疑問に思ったんですが、文字列だけでなく
数値を入力させる際にも気をつけておくべき「定石」みたいな方法があると思うんです。
こういったエラーを防ぐときに、みなさんが実務で使われている方法ってどんなものなんでしょうか?
上の改良すればいけるんじゃないかとは思ってるんですが・・・・