• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:4桁の数字以外を入力したらエラーを表示したいです)

4桁の数字以外を入力したらエラーを表示する方法

このQ&Aのポイント
  • 質問文章では、4桁の数字以外を入力した際にエラーを表示する方法についての解説を求めています。
  • 既存の方法としては、入力値が4桁の数字でない場合に条件分岐を使ってエラーメッセージを表示する方法があります。
  • また、正規表現を使って入力値が4桁の数字であるかをチェックする方法もあります。

質問者が選んだベストアンサー

  • ベストアンサー
  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.1

文字列で取得しているのなら、「4桁」の判断はstrlen()が楽です。 また、同様に「数値」の判断はisdigit()が楽ですが、こっちは各桁が'0'以上'9'以下の範囲内に収まっている、という判断の仕方もありますね。

xenotactic
質問者

お礼

ありがとうございました! strlenとisdigitを使うことにします。

その他の回答 (1)

  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.2

#include <stdio.h> void main(void) { int i; int n; char c; char buf[5]; for(;;) { printf("数字4桁を入力して下さい:"); n = scanf("%4s",buf); c = getchar(); if (c !='\n') { while (getchar() != '\n') {;} printf("入力エラー\nもう一度"); continue; } for (i = 0;i < 4;i++) { if ((buf[i] < '0') || (buf[i] > '9')) { n=0; break; } } if (n != 1) { printf("入力エラー\nもう一度"); continue; } break; } printf("4桁の数字は[%s]です\n",buf); }

関連するQ&A