- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:4桁の数字以外を入力したらエラーを表示したいです)
4桁の数字以外を入力したらエラーを表示する方法
このQ&Aのポイント
- 質問文章では、4桁の数字以外を入力した際にエラーを表示する方法についての解説を求めています。
- 既存の方法としては、入力値が4桁の数字でない場合に条件分岐を使ってエラーメッセージを表示する方法があります。
- また、正規表現を使って入力値が4桁の数字であるかをチェックする方法もあります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
文字列で取得しているのなら、「4桁」の判断はstrlen()が楽です。 また、同様に「数値」の判断はisdigit()が楽ですが、こっちは各桁が'0'以上'9'以下の範囲内に収まっている、という判断の仕方もありますね。
その他の回答 (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); }
お礼
ありがとうございました! strlenとisdigitを使うことにします。