#include #include int main(void) { while (1) { /* s に整数を表す文字列をセット */ printf("0 から 10000 までの整数を入力してください: "); char s[128]; /* 1 行が長すぎたり NUL 文字が入っていたりしたらバグるが、 本題はそこではないので気にしない */ if (gets(s) == NULL) break; char *end; unsigned long ul = strtoul(s, &end, 10); if (*s == '\0' || *end != '\0' || ul > 10000) { /* エラー時の処理 */ printf("エラー\n"); continue; } int n = (int)ul; printf("入力された整数は %d\n", n); } return 0; }