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; }